这里试图用代码解释得更清楚一些--
str = 'testfoostringfoo';
var regex = /foo$/;
if (str.match(regex) == true) {
str.trim(regex);
return str; //expecting 'testfoostring'
}
虽然 jQuery 可用,但我正在寻找仅使用 javascript 来完成此任务的最简单方法。谢谢你的时间。 :]
在@Kobi- 的帮助下完成功能齐全的代码
var str = 'testfoostringfoo';
var regex = /f00$/;
if (str.match(regex)) {
str = str.replace(regex, '');
return str; //returns 'testfoostring' when the regex exists in str
}
最佳答案
您应该简单地替换
:
str = 'testfoostringfoo';
var regex = /foo$/;
str = str.replace(regex, '');
return str;
我删除了 if
,当 regex
找不到时,replace
不影响字符串。
请记住 match
返回一组匹配项 (['foo']
),因此与 true
的比较无论哪种方式都会失败:if(str.match(regex) 中的条件== true)
始终为 false。
您正在寻找 if(str.match(regex))
或 if(regex.test(str))
.
请注意 trim
在 JavaScript 中有点新,它不接受参数,它只是删除空格。
关于javascript - 检查字符串的末尾是否存在有效的正则表达式并返回正则表达式 trim 后的字符串-,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18584312/