[英]How can I split the word by numbers but also keep the numbers in Node.js?
我想按数字拆分一个单词,但同时将数字保留在node.js
。
例如,使用以下句子:
var a = "shuan3jia4";
我想要的是:
“ shuan3 jia4”
但是,如果您使用正则表达式的split()
函数,则该函数上使用的数字将消失,例如:
s.split(/[0-9]/)
结果是:
['shuan','jia','']
那么,有什么办法可以保留拆分中使用的数字?
您可以使用match根据需要实际拆分它:
var a = "shuan3jia4"; console.log(a.match(/[az]+[0-9]/ig));
在要保留的比赛周围使用括号
在Javascript和regex上查看更多详细信息:拆分字符串并保留分隔符
var s = "shuan3jia4"; var arr = s.split(/([0-9])/); console.log(arr);
var s = "shuan3jia4"; var arr = s.split(/(?<=[0-9])/); console.log(arr);
这将根据您的要求工作。 此答案来自@arhak和C#拆分字符串,但保留拆分字符/分隔符
正如@codybartfast所说, (?<=PATTERN)
对于PATTERN
是积极的。 它应该在前面的文本适合PATTERN
任何位置匹配,因此每次出现任何字符后都应该有一个匹配(和一个分割)。
分割,贴图,合并,修剪。
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.