例如,我有这个字符串:
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?"]
拆分此字符串的正确方法是什么?
如果您使用正则表达式作为split参数,则捕获组(由括号之间的内容匹配)也会在结果中返回。所以你应该让这个捕获组成为整个表达式:
a.split(/(\@USER_ID:[0-9]+\@)/)
Run Code Online (Sandbox Code Playgroud)
请注意,正则表达式可以缩短为:
a.split(/(@USER_ID:\d+@)/)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |