替换包含'+'的子字符串

时间:2017-04-26 09:01:24

标签: jquery replace

我有一个子字符串'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

3 个答案:

答案 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+', '');
}