在单个分隔符出现时拆分

时间:2012-04-30 08:11:48

标签: javascript

我有像

这样的字符串
A_B_C_D
A_B___C_D

___可以在字符串中的任何位置。

在任何单_而不是___分割它们的最简单方法是什么?

1 个答案:

答案 0 :(得分:8)

>>> "A_B_C_D".match(/(?:[^_]|_{2,})+/g)
["A", "B", "C", "D"]

>>> "A_B___C_D".match(/(?:[^_]|_{2,})+/g)
["A", "B___C", "D"]

我们不是找到分隔符,而是找到组件本身。请注意,字符串必须是非_(因为分隔符为_)或多个_。所以匹配它们的正则表达就像这样。

请注意,如果输入以_开头或结尾,此正则表达式会忽略空字符串(例如"_a_"将返回["a"]。)