首页 > 解决方案 > Jquery在多个特殊字符后添加文本

问题描述

我有一个字符串,我想在每个 '}' 的末尾添加 ',' 我用替换来做到这一点,但它可以只添加一个 ',' 到 '}' 的末尾

var s = '[{"codemeli":"2596212109"}{"codemeli":"1234567890"}{"codemeli":"9874563211"}{"codemeli":"2654897125"}]'
alert(s.replace("}", "},"))

警报显示的结果:

[{"codemeli":"2596212109"},{"codemeli":"1234567890"}{"codemeli":"9874563211"}{"codemeli":"2654897125"}]

在'}'之后如何添加','

我想要这样的结果:

[{"codemeli":"2596212109"},{"codemeli":"1234567890"},{"codemeli":"9874563211"},{"codemeli":"2654897125"}]

标签: javascriptjquerystringreplace

解决方案


理想情况下,您首先要避免生成不正确的字符串。

var a = [
   '{"codemeli":"2596212109"}',
   '{"codemeli":"1234567890"}',
   '{"codemeli":"9874563211"}',
   '{"codemeli":"2654897125"}'
];

var s = "[" + a.join(",") + "]";

或者更好的是,

var a = [
   { "codemeli": "2596212109" },
   { "codemeli": "1234567890" },
   { "codemeli": "9874563211" },
   { "codemeli": "2654897125" }
];

var s = JSON.stringify(a);

但是,假设您从某个第三方获取字符串。你可以使用String.replace如下:

s.replace(/\}\{/g, "},{");

g导致所有实例被替换。


推荐阅读