我有一个子字符串'5+'的字符串,它看起来像sales/100/5+
。我需要删除子字符串5+
。
输入:sales/100/5+
要求输出:sales/100
jquery脚本如下:
var rstring = 'sales/100/5+';
if((splitStr == '5+')||(splitStr == '4-')) {
var key = rstring.replace(new RegExp('/'+splitStr, 'g'),"");
alert(key);
}
现在我得到了结果:sales / 100 +
但期望的输出是:sales / 100
答案 0 :(得分:1)
要实现这一目标,您可以split()
/
删除字符串,删除最后一个元素,然后join()
将其重新组合在一起,如下所示:
var arr = 'sales/100/5+'.split('/');
arr.pop();
console.log(arr.join('/'));
答案 1 :(得分:1)
你真的不需要使用正则表达式来使你的字符串替换工作
最简单的最好:
var rstring = 'sales/100/5+';
if((splitStr == '5+')||(splitStr == '4-'))
{
var key = rstring.replace('/' + splitStr, '');
alert(key);
}
你的正则表达式中的'+'是量词。它在一次和无限次之间匹配,尽可能多次,根据需要返回。 这就是为什么你的+在更换后仍然存在的原因。
答案 2 :(得分:0)
您可以从给定字符串中删除/5+
。没有jQuery代码是neede,只是一个简单的JS函数。
function replace5plus(str) {
return str.replace('/5+', '');
}