在javascript中多次替换子字符串
我需要多次将在javascript中多次替换子字符串,javascript,replace,substring,Javascript,Replace,Substring,我需要多次将:和,之间的所有内容替换为|。 我有一个服务器列表,比如server1:127.0.0.1、server2:127.0.0.2、server3:127.0.0.3 基本上,我需要删除所有IP并用一些替换它们 到目前为止,我能够做到这一点: resultList = serverList.replace(/:.*,/g, '|') 问题是结果列表是server1 | server3:127.0.0.3 如何替换每一个事件 /:*,/非常匹配:127.0.0.1,server2:127
:
和,
之间的所有内容替换为|
。我有一个服务器列表,比如
server1:127.0.0.1、server2:127.0.0.2、server3:127.0.0.3
基本上,我需要删除所有IP并用一些
替换它们
到目前为止,我能够做到这一点:
resultList = serverList.replace(/:.*,/g, '|')
问题是结果列表是server1 | server3:127.0.0.3
如何替换每一个事件
/:*,/
非常匹配:127.0.0.1,server2:127.0.0.2
。请记住,像*
这样的量词将尽可能多地匹配,同时仍然允许模式的其余部分匹配
考虑指定[^,]
而不是
。这将从匹配中排除逗号,因此将匹配仅限于要删除的区域
resultList = serverList.replace(/:[^,]*,/g, '|')
/:*,/
与:127.0.0.1、server2:127.0.0.2
非常匹配。请记住,像*
这样的量词将尽可能多地匹配,同时仍然允许模式的其余部分匹配
考虑指定[^,]
而不是
。这将从匹配中排除逗号,因此将匹配仅限于要删除的区域
resultList = serverList.replace(/:[^,]*,/g, '|')
您可以采用惰性方法处理
?
(匹配尽可能少的字符)
var字符串='server1:127.0.0.1、server2:127.0.0.2、server3:127.0.0.3';
log(string.replace(/:.*(,|$)/g,,|')代码>您可以采用惰性方法处理?
(匹配尽可能少的字符)
var字符串='server1:127.0.0.1、server2:127.0.0.2、server3:127.0.0.3';
log(string.replace(/:.*(,|$)/g,,|')代码>贪婪匹配破坏您的正则表达式。使用[^,]*
而不是*
正则表达式的可能重复项。使用[^,]*
而不是*
可能重复的