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

时间:2015-08-20 08:16:54

标签: 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,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

有什么建议吗?

2 个答案:

答案 0 :(得分:5)

您需要转义|使用str.replace(/\|/g, ",");

答案 1 :(得分:1)

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

str = str.split("|").join(",");

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

我会说使用正则表达式,但是也值得知道这个方法。