3

我有一段文字

测试,文本,123,没有最后一个逗号

需要它

测试,文本,123 没有最后一个逗号

(123 后没有逗号)。如何使用 javasctipt 实现这一点?

4

3 回答 3

21
str.replace(/,(?=[^,]*$)/, '')

这使用肯定的前瞻断言来替换逗号,后跟非逗号。

于 2013-01-16T10:09:04.880 回答
9

非正则表达式选项:

var str = "test, text, 123, without last comma";
var index = str.lastIndexOf(",");
str = str.substring(0, index) + str.substring(index + 1);

但我喜欢正则表达式。:-)

于 2013-01-16T10:11:04.113 回答
1

用正则表达式替换的另一种方法:

str.replace(/([/s/S]*),/, '$1')

这依赖于贪婪的事实*,并且正则表达式最终将匹配,字符串中的最后一个。[/s/S]匹配任何字符,与之相反.,匹配除换行符之外的任何字符。

于 2013-01-16T10:48:44.127 回答