我有一个要按数字分割的字符串。问题在于分隔符应保留在结果数组中。
'A1B2C'.split(/\d/);
// ['A', 'B', 'C']
我只是在期望数字的同时也收到字母,例如['A', '1', 'B', '2', 'C']
。
答案 0 :(得分:4)
将捕获组放在正则表达式周围会告诉split()
将分隔符保留在结果中。
console.log('A1B2C'.split(/(\d+)/));
请注意,如果字符串以数字开头或结尾,则会在其之前/之后产生一个额外的空元素:
console.log('5A1B2C6'.split(/(\d+)/));
如果有问题,可以将其过滤掉。
console.log('5A1B2C6'.split(/(\d+)/).filter(s => s != ""));
答案 1 :(得分:1)
答案 2 :(得分:0)
您只需要使用split。这应该起作用
"a1b2c3".split('');