我想用数字分隔一个单词,但同时将数字保存在node.js
。
例如,请使用以下句子:
var a = "shuan3jia4";
我想要的是:
“shuan3 jia4”
但是,如果使用正则表达式的split()
函数,函数上使用的数字将会消失,例如:
s.split(/[0-9]/)
结果是:
['shuan','jia','']
那么有什么办法可以保留分割时使用的数字吗?
答案 0 :(得分:4)
您可以使用match根据您的要求实际拆分:
var a = "shuan3jia4";
console.log(a.match(/[a-z]+[0-9]/ig));

答案 1 :(得分:3)
在你想保持的比赛周围使用括号
请参阅Javascript and regex: split string and keep the separator
的详细信息
data = {'A': 0, 'B': 0, 'C': 0 .....}
答案 2 :(得分:0)
var s = "shuan3jia4";
var arr = s.split(/(?<=[0-9])/);
console.log(arr);
这将按照您的要求运作。这个答案来自@arhak和C# split string but keep split chars / separators
正如@codybartfast所说,(?<=PATTERN)
是PATTERN
的正面观察。它应该在前面的文本适合PATTERN
的任何地方匹配,因此在每次出现任何字符后都应该匹配(和分割)。
答案 3 :(得分:0)
拆分,贴图,加入,修剪。
const a = 'shuan3jia4';
const splitUp = a.split('').map(function(char) {
if (parseInt(char)) return `${char} `;
return char;
});
const joined = splitUp.join('').trim();
console.log(joined);
&#13;