如何按数字拆分单词,还要将数字保存在Node.js中?

时间:2018-03-24 03:48:22

标签: javascript node.js regex

我想用数字分隔一个单词,但同时将数字保存在node.js

例如,请使用以下句子:

var a = "shuan3jia4";

我想要的是:

  

“shuan3 jia4”

但是,如果使用正则表达式的split()函数,函数上使用的数字将会消失,例如:

s.split(/[0-9]/)

结果是:

  

['shuan','jia','']

那么有什么办法可以保留分割时使用的数字吗?

4 个答案:

答案 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)

拆分,贴图,加入,修剪。

&#13;
&#13;
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;
&#13;
&#13;