Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中多次替换子字符串_Javascript_Replace_Substring - Fatal编程技术网

在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,,|')贪婪匹配破坏您的正则表达式。使用
[^,]*
而不是
*
正则表达式的可能重复项。使用
[^,]*
而不是
*
可能重复的