Javascript 如何用空格分隔字符串,并保持逗号分隔?
我想把一个句子分成几个字。如果它只包含空格,则Javascript 如何用空格分隔字符串,并保持逗号分隔?,javascript,regex,split,regular-language,Javascript,Regex,Split,Regular Language,我想把一个句子分成几个字。如果它只包含空格,则.split(/\s+/)可以工作 但是,如何也可以按逗号分割,并在生成的数组中保留逗号呢 我尝试过类似的方法,但不起作用: .split(/(?=,)|(?!=,)|\s/) 输入示例: "this,is, a test" 预期产出: ["this", ",", "is", ",", "a", "test"
.split(/\s+/)
可以工作
但是,如何也可以按逗号分割,并在生成的数组中保留逗号呢
我尝试过类似的方法,但不起作用:
.split(/(?=,)|(?!=,)|\s/)
输入示例:
"this,is, a test"
预期产出:
["this", ",", "is", ",", "a", "test"]
我错了什么?甚至可以只使用正则表达式吗?您可以使用
console.log(
“这是一个测试”。匹配(/[^\s,]+|,/g)
)
如果要在空格上拆分并保留逗号,另一个选项可以是匹配1+个空格字符或在捕获组中捕获逗号以保留它并删除空条目
(,)|\s+
在组1中捕获一个逗号以继续使用拆分(,)
或|
匹配一个或多个空格字符\s+
console.log(
“这是一个测试”
.split(/(,)|\s+/)
.filter(布尔值)
);代码>