使用JavaScript删除字符串中最后出现的逗号

3

我有一段文本

测试,文本,123,去掉最后一个逗号

我需要的是

测试,文本,123去掉最后一个逗号

(123后面没有逗号)。如何使用JavaScript实现这个目标?

3个回答

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

这里使用了正向先行断言来替换仅后跟非逗号的逗号。


请提供需要翻译的内容。 - 0x49D1
1
♡ 拿走了牛津逗号 - muuuhahahahaha .replace(/,(?=[^,]*$)/, ' and') - gdibble

9

非正则表达式选项:

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

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


1
:( 不知道 JavaScript 有 lastIndexOf.. 谢谢! - 0x49D1

1

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

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

这取决于 * 是贪婪的事实,正则表达式最终会匹配字符串中的最后一个 ,[/s/S] 匹配任何字符,与匹配除换行符以外的任何字符的 . 相反。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接