如何用空格分割字符串,并保持逗号分开?

我想把一个句子分解成词。如果它只包含空格,则.split(/s+/)有效。

但是如何也可以用逗号分割,并将逗号保留在结果数组中?

我试过这样的事情,但它不起作用:

.split(/(?=,)|(?!=,)|s/)

示例输入:

"this,is, a test"

预期输出:

["this", ",", "is", ",", "a", "test"]

我怎么了?甚至可以只使用正则表达式吗?

回答

您可以使用

console.log(
  "this,is, a test".match(/[^s,]+|,/g)
)

请参阅正则表达式演示。

String#match带有以g修饰符为特色的正则表达式的方法提取所有非重叠出现的

  • [^s,]+- 除空格 ( s) 和逗号之外的任何一个或多个字符
  • | - 或者
  • , - 逗号。

以上是如何用空格分割字符串,并保持逗号分开?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>