简体   繁体   English

替换 JavaScript 中字符串中的 2 个字符

[英]Replace 2 characters inside a string in JavaScript

I have this string and I want to fill all the blank values with 0 between to , :我有这个字符串,我想用 0 填充所有空白值到,

var initialString = 3,816,AAA3,aa,cc,bb,5.9,27,46,0.62,29,12,7,10,13.1,86,6.02,20,1.68,8,0.24,48,22,6.2,0.9,,,1,

I want this output:我想要这个 output:

var finalString = 3,816,AAA3,aa,cc,bb,5.9,27,46,0.62,29,12,7,10,13.1,86,6.02,20,1.68,8,0.24,48,22,6.2,0.9,0,0,1,0

I try to use replace我尝试使用替换

var newString = initialString.replace(/,,/g, ",0,").replace(/,$/, ",0");

But the finalString looks like this:但 finalString 看起来像这样:
var initialString = 3,816,AAA3,aa,cc,bb,5.9,27,46,0.62,29,12,7,10,13.1,86,6.02,20,1.68,8,0.24,48,22,6.2,0.9,0,,1,0 Some coma are not replaced. var initialString = 3,816,AAA3,aa,cc,bb,5.9,27,46,0.62,29,12,7,10,13.1,86,6.02,20,1.68,8,0.24,48,22,6.2,0.9,0,,1,0有些昏迷没有被替换。

Can someone show me how to do it?有人可以告诉我怎么做吗?

You can match a comma which is followed by either a comma or end of line (using a forward lookahead) and replace it with a comma and a 0 :您可以匹配逗号后跟逗号或行尾(使用前瞻)并将其替换为逗号和0

 const initialString = '3,816,AAA3,aa,cc,86,6.02,20,1.68,8,0.24,48,22,6.2,0.9,,,1,'; let result = initialString.replace(/,(?=,|$)/g, ',0'); console.log(result)

using split and join使用拆分连接

 var str = "3,816,AAA3,aa,cc,bb,5.9,27,46,0.62,29,12,7,10,13.1,86,6.02,20,1.68,8,0.24,48,22,6.2,0.9,,,1,"; const result = str.split(",").map((s) => (s === ""? "0": s)).join(","); console.log(result);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM