在javascript中将子字符串替换多次

rad*_*led 1 javascript replace substring

我需要之间的取代一切:,并,|多次.
我有一个服务器列表server1:127.0.0.1,server2:127.0.0.2,server3:127.0.0.3.

基本上,我需要删除所有IP并用一些替换它们|.

到目前为止,我能够做到这一点:

resultList = serverList.replace(/:.*,/g, '|')
Run Code Online (Sandbox Code Playgroud)

问题是结果列表是server1|server3:127.0.0.3.

如何更换每次出现?

cdh*_*wie 5

/:.*,/贪婪地匹配:127.0.0.1,server2:127.0.0.2.请记住,量词*尽可能多地匹配,同时仍允许模式的其余部分匹配.

考虑指定[^,]而不是..这将排除逗号匹配,因此将匹配限制为您要删除的区域.

resultList = serverList.replace(/:[^,]*,/g, '|')
Run Code Online (Sandbox Code Playgroud)