如何以正确的方式分割字符串?

时间:2020-10-22 15:29:52

标签: javascript

例如,我有以下字符串:

a = "Hello, @USER_ID:1@, how are you?"

我需要将此字符串转换为单词数组:

["Hello, ", "@USER_ID:1@", ", how are you?"]

我尝试过这段代码:

a.split(/\@USER_ID:([0-9]+)\@/)

但是它返回这个:

 ["Hello, ", "1", ", how are you?"]

分割此字符串的正确方法是什么?

1 个答案:

答案 0 :(得分:5)

如果您使用正则表达式作为split参数,则捕获组(与括号之间的值匹配)也会返回到结果中。因此,您应该只使该捕获组成为整个表达式:

 a.split(/(\@USER_ID:[0-9]+\@)/)

请注意,正则表达式可以缩短为:

 a.split(/(@USER_ID:\d+@)/)