非字母字符分割字符串

20
我想通过所有非字母字符作为分隔符来拆分一个字符串。
例如,我想要分割这个字符串:
"hello1 twenty-three / nine.bye"

转化为

["hello","","twenty","three","","","nine","bye"]

我尝试过这种方法

text.split(/\[A-Za-z]+/)

但是它不起作用。

如何通过非字母字符拆分字符串?


1
既然你想匹配连续的字母,为什么不使用.match()呢?text.match(/[A-Za-z]+/g) - user1106925
2个回答

38

看起来你正在寻找非匹配原子:[^。尝试以下方法:

text.split(/[^A-Za-z]/)

3
你可以将“/ [^A-Za-z] /”缩短为“/ [^a-z] / i”。 “i”使正则表达式不区分大小写。 - kmoser

4

你觉得最前面的反斜杠会破坏你的[]吗?那text.split(/[^A-Za-z]+/)呢?

"asdsd22sdsdd".split(/[^A-Za-z]/)
["asdsd", "", "sdsdd"]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接