js中如何替换掉最后一个匹配的字符串?

例如:一个字符串“14-10,14-11,14-12,14-13,14-12,14-1”,我要把最后的",14-1"替换为空,请问用replace怎么写js代码?

替换掉最后一个字符串。

思路:用lastIndexOf 获取出字符串的下标,然后再截取或是替换都可以实现。

简单的小例子:
var a = 'ababababababa';
var b = a.substring(a.lastIndexOf('ba'));  //这样就获取到了最后的'ba'
var c = a.substring(0,a.lastIndexOf('ba')); //这样就获取到了前面的字符串。
就可以随意的字符串拼写了。
a = c + '11111';   //这样a就变成了 abababababa11111
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-14
js里面的replace是替换掉第一个匹配的。后面的不会作出处理,例如。你字符串里面有两个,14-1,用replace替换掉的是第一个,14-1,第二个不会发生变化,如果你要替换掉最后匹配的字符串,需要根据匹配的字符串和匹配规则来判断怎么写代码,例如如果字符串是32adffdfdfddfesdf你要替换最后的df,就可以写出代码,如果字符串是xx,\\\ffeaddfe"'dq""d你要替换后面的""d写出的代码又不一样追问

那我那种形式的该怎么写呢?或者不用replace,只要能把最后一个",14-1"给去掉就行,求教了,谢谢!

追答

把最后的,14-1替换为空就是把原字符串的最后的,14-1截取不要,还是换为空格

本回答被提问者采纳
相似回答