我正在尝试转换字符串:
string.0.another.0.string
进入
string[0].another[0].string.
我尝试使用 RegEx ,split()
进行循环,但是我没有成功。
任何帮助将不胜感激。
答案 0 :(得分:0)
let a = 'string.0.another.0.string';
let res='';
a.split('.').forEach(val => {
res += val === '0' ? '[0].' : val;
});
console.log(res);
或更简单的解决方案:
let a = 'string.0.another.0.string';
let res = a.replace(/.0/g, "[0]");
console.log(res);
答案 1 :(得分:0)
使用正则表达式匹配此模式“。(任意数字)”。然后用捕获的数字组替换,并用“。”括起来。
const regex = /\.([0-9])\./g;
const str = 'string.0.another.0.string';
const subst = '.[$1].';
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
答案 2 :(得分:0)
假设您的字符串字面意思是“ string [0] .another [0] .string”,string.replace()就会退缩。
let str = "string.0.another.0.string";
console.log(str);
str = str.replace(/.0./g, "[0].");
console.log(str);