如何在JavaScript中拆分具有多个分隔符的字符串?
2022-08-29 22:34:51
如何在JavaScript中拆分具有多个分隔符的字符串?
我试图在逗号和空格上拆分,但AFAIK JavaScript的函数只支持一个分隔符。split()
如何在JavaScript中拆分具有多个分隔符的字符串?
我试图在逗号和空格上拆分,但AFAIK JavaScript的函数只支持一个分隔符。split()
传入正则表达式作为参数:
js> "Hello awesome, world!".split(/[\s,]+/)
Hello,awesome,world!
编辑以添加:
您可以通过选择数组的长度减去 1 来获取最后一个元素:
>>> bits = "Hello awesome, world!".split(/[\s,]+/)
["Hello", "awesome", "world!"]
>>> bit = bits[bits.length - 1]
"world!"
...如果模式不匹配:
>>> bits = "Hello awesome, world!".split(/foo/)
["Hello awesome, world!"]
>>> bits[bits.length - 1]
"Hello awesome, world!"
您可以将正则表达式传递到 JavaScript 的 split() 方法中。例如:
"1,2 3".split(/,| /)
["1", "2", "3"]
或者,如果要允许多个分隔符一起充当一个分隔符,
"1, 2, , 3".split(/(?:,| )+/)
["1", "2", "3"]
(您必须使用非捕获括号,否则它将拼接到结果中。或者你可以像Aaron一样聪明,使用角色类。(?:)
在 Safari 和 Firefox 中测试的示例。