我无法应用其他类似问题的答案(尝试替换最后一次出现的字符串),因为我的语法有问题。
我试图替换最后一次出现的字符串。字符串的值存储在传递给.replace()
方法的变量中,如下所示:
var str += some additive strings;
var del = a string that lives within str; // the value is dynamic
str = str.replace(del$, ''); // this doesn't work to remove the last occurrence of `del` in str
据我了解,$
参数查找正则表达式中最后一次出现的字符串;但是我无法弄清楚如何将它与传递给.replace()
的变量一起使用。有什么建议吗?
答案 0 :(得分:0)
您可以将lastIndexOf()
与slice()
示例:
var str ="HI this is cool isn't it? cool";
var del='cool';// put whatever here
var index = test.lastIndexOf(del);
var length=del.length;
if(index!=-1)
var removeStr=test.substr(index,length);
str.replace(removeStr,''); // HI this is cool isn't it?
Mate,这只是一个答案。您需要根据自己的需要使用它。
已更新现场演示:http://jsfiddle.net/n2Kgn/2
答案 1 :(得分:0)
如果您想将RegExp与$一起使用,请执行以下操作:
var str += 'some additive strings';
var re = new RegExp('a string that lives within str$');
str = str.replace(re, '');
答案 2 :(得分:0)
str = str.substring(0, str.length - del.length);