在删除字符串的最后一个实例时使用Regex或lastIndexOf

Regex or lastIndexOf when removing last instance of a string

本文关键字:Regex lastIndexOf 实例 删除 字符串 最后一个      更新时间:2023-09-26

我无法将答案应用于其他类似的问题(试图替换字符串的最后一次出现),因为我在语法上有问题。

我正在尝试替换字符串的最后一次出现。字符串的值存储在传递给.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()。有什么建议吗?

如果你想使用$的RegExp,这样做:

var str += 'some additive strings';
var re = new RegExp('a string that lives within str$');
str = str.replace(re, '');
str = str.substring(0, str.length - del.length);

可以将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? 

伙计,这只是一个答案。你需要根据你的需要来使用它。

现场演示:http://jsfiddle.net/n2Kgn/2