JavaScript:替换字符串中最后一次出现的文本

标签 javascript string replace

请参阅下面的代码片段:

var list = ['one', 'two', 'three', 'four'];
var str = 'one two, one three, one four, one';
for ( var i = 0; i < list.length; i++)
{
     if (str.endsWith(list[i])
     {
         str = str.replace(list[i], 'finish')
     }
 }

我想用字符串中的单词 finish 替换单词 one 的最后一次出现,我的方法不起作用,因为 replace 方法只会替换它的第一次出现。有谁知道我如何修改该片段,以便它只替换“一个”的最后一个实例

最佳答案

好吧,如果字符串真的以模式结尾,你可以这样做:

str = str.replace(new RegExp(list[i] + '$'), 'finish');

关于JavaScript:替换字符串中最后一次出现的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2729666/

相关文章:

replace - 原子: Find and Replace with Incrementing Number

jquery - 替换克隆的 jquery 对象中的字符串

javascript - jquery:上下文与闭包?

c - 使用递归查找最长的单词 C

ios - NSAttributedString绘图-多少行?

c - 用空格分割字符串,并使用指针数组将一个单词添加到分割字符串的结果中

c - 替换 C 中已经打印的数字

javascript - 从 Node js发送udp消息到html

javascript - 使用 Nightmare JS 延迟加载滚动

Javascript删除合并某些属性的对象列表中的重复项