只有当JavaScript中的子字符串长度大于x时,才从子字符串中删除字符
only remove characters from substring if substring is longer than x in JavaScript
我有一串单词,只有当单词超过4个字符时,我才希望从单词末尾删除"ay"。
例如:
"I work every day except monday, tuesday, wednesday and thursday"
应返回:
"I work every day except mond, tuesd, wednesd and thursd"
我相信使用string.replace()方法可以解决这个问题,我只需要弄清楚可以添加到(/ay$/gi,")中的内容,使其只替换超过4个字符的单词的ay,同时能够处理逗号和空格。
/ay$/gi
正则表达式将只在任何单词的末尾匹配ay
。
您可以使用以下代码:
var re = /'b('w{3,})ay'b/gi; // It will match `ay` at the end of a 5+ letter word
var str = 'I work every day except monday, tuesday, wednesday and thursday';
var result = str.replace(re, '$1');
document.getElementById("r").innerHTML = result;
<div id="r"/>
正则表达式为'b('w{3,})ay'b
。它与匹配
'b
-一个词的边界('w{3,})
-3个或更多字母数字符号,将它们存储在组1中(稍后我们将在替换字符串中引用存储在该捕获组的值)ay'b
-匹配单词末尾的ay
替换字符串中的$1
backreference获取捕获组1缓冲区中存储的值(即('w{3,})
捕获的值,3个或更多字母数字符号)。
请参阅regex演示
相关文章:
- 如何将字符串拆分为字符,但在javascript中保留空格
- 如何显示字符串中最多 200 个字符
- 我想在Javascript中探索类似C语言的字符串的整个字符
- 如何用jquery替换字符串中可能变化的字符
- 通过跳过拆分字符在 javascript 中拆分字符串
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 字符串替换-不支持格式字符'}'
- 到UpperCase字符串Javascript中的特定字符索引
- 用类javascript包装span标记中字符串中的字符索引
- 将字符串分组为n个字符的块,并应用替换
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 如何从键Code;中获取字符串/字符值;
- 检查值是否包含字符串字符
- JavaScript字符串字符操作
- 如果数组中的字符串不匹配,请从字符串中删除字符串字符
- Javascript Lingo游戏-字符串字符等于另一个字符串字符
- jQuery替换字符串字符的方法
- Javascript字符串字符检查
- Javascript替换字符串字符
- Javascript的变化与重复(组合)缺失的字符串字符