我有一个可以使用此格式的字符串:"4 4 8 16 16"
但也可以使用其他分隔符:"4, 4, 8, 16, 16"
或"4-4-8-16-16"
。
我想把它变成这样:"C/4 C/4 C/8 C/16 C/16"
。
使用str.replace(/(?=\d)/g, 'C/')
时,我得到以下错误结果:"C/4 C/4 C/8 C/1C/6 C/1C/6"
。
有人有解决方案吗?当字符串变大时,使用for循环似乎很快就会变得非常低效。
答案 0 :(得分:4)
您可以将所有非数值替换为所需部分,并且当它具有前导空格时,您需要对结果进行切片。
var array = ["4 4 8 16 16", "4, 4, 8, 16, 16", "4-4-8-16-16"];
console.log(array.map(s => s
.split(/\D+/)
.map(s => 'C/' + s)
.join(' ')
));
另一个拆分和重新组装零件的提案。
{{1}}