如何替换字符串中第n个字符的出现?

Emi*_*ily 3 java regex

我需要在第5个之后替换所有逗号.因此,如果一个String包含10个commans,我想只留下前5个,并删除所有后续逗号.

我怎样才能做到这一点 ?

String sentence = "Test,test,test,test,test,test,test,test"; 
String newSentence = sentence.replaceAll(",[6]",""); 
Run Code Online (Sandbox Code Playgroud)

Avi*_*Raj 6

只需捕获从开头到第五个逗号的所有字符,并使用交替运算符匹配所有剩余的逗号|.所以,之后|应该匹配所有剩余的逗号.通过替换所有匹配的字符$1将为您提供所需的输出.

sentence.replaceAll("^((?:[^,]*,){5})|,", "$1");
Run Code Online (Sandbox Code Playgroud)

DEMO