Asl*_*lam 5 javascript regex arrays string split
我有一个字符串需要用正则表达式拆分以应用一些修改。
例如:
const str = "Hello+Beautiful#World";
const splited = str.split(/[\+#]/)
// ["Hello", "Beautiful", "World"]
Run Code Online (Sandbox Code Playgroud)
现在字符串已被+或分割#。现在说在对数组中的项目进行一些修改后,我必须使用用于拆分的相同分隔符加入数组,因此字符+和#必须与以前的位置相同。
例如:如果我应用了一些修改字符串并加入。那么应该是。
Hello001+Beutiful002#World003
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
当您将模式放入捕获组中时,split会将匹配的分隔符作为偶数数组项返回。所以,你需要做的就是修改奇怪的项目:
var counter=1;
var str = "Hello+Beautiful#World";
console.log(
str.split(/([+#])/).map(function(el, index){
return el + (index % 2 === 0 ? (counter++ + "").padStart(3, '0') : '');
}).join("")
);Run Code Online (Sandbox Code Playgroud)