Javascript:在数据包中用逗号替换管道

Javascript:在数据包中用逗号替换管道,javascript,string,replace,Javascript,String,Replace,例如,我有如下字符串: $K,86107,2,2,04,77.232323,86.330234,00000000000000,V,0,10,,,0,0,410,04,1e29,a16d,7000,0,1537|0|0|4762|0|0,1,0,,,,*22 如果我使用:str.replace('|',“,”) 它仅用逗号替换第一个管道 如果我使用:str.replace(/|/g,“,”)生成的字符串是: ,$,K,,,8,6,1,0,7,,,2,,,2,,,0,4,,,7,7,.,2,3,2

例如,我有如下字符串:

$K,86107,2,2,04,77.232323,86.330234,00000000000000,V,0,10,,,0,0,410,04,1e29,a16d,7000,0,1537|0|0|4762|0|0,1,0,,,,*22
如果我使用:
str.replace('|',“,”)
它仅用逗号替换第一个管道

如果我使用:
str.replace(/|/g,“,”)
生成的字符串是:

,$,K,,,8,6,1,0,7,,,2,,,2,,,0,4,,,7,7,.,2,3,2,3,2,3,,,8,6,.,3,3,0,2,3,4,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,V,,,0,,,1,0,,,,,,,0,,,0,,,4,1,0,,,0,4,,,1,e,2,9,,,a,1,6,d,,,7,0,0,0,,,0,,,1,5,3,7,|,0,|,0,|,4,7,6,2,|,0,|,0,,,1,,,0,,,,,,,,,*,
我想要的是:

$K,86107,2,2,04,77.232323,86.330234,00000000000000,V,0,10,,,0,0,410,04,1e29,a16d,7000,0,1537,0,0,4762,0,0,1,0,,,,*22

有什么建议吗?

您需要退出
使用
str.replace(/\\\/g,“,”)

您需要转义
使用
str.replace(/\\\124;/g,“,”)

正如joyBlanks所说,您可以使用贪婪的正则表达式进行完全替换。您还可以使用
split()
join()

str = str.split("|").join(",");
split()
使用给定的分隔符将字符串拆分为一个数组,然后
join()
使用给定的分隔符连接数组元素,返回一个字符串


我想说的是使用正则表达式,但是了解这个方法也是值得的。

正如joyBlanks所说,您可以使用贪婪的正则表达式进行完全替换。您还可以使用
split()
join()

str = str.split("|").join(",");
split()
使用给定的分隔符将字符串拆分为一个数组,然后
join()
使用给定的分隔符连接数组元素,返回一个字符串

我想说的是使用正则表达式,但是了解这个方法也是值得的