我正在尝试拆分此字符串:
bar .foo car.coo
到这个数组:
['bar',' .foo','car','.coo']
我一直在尝试对这个词组进行变体,但似乎无法正确理解:
str.replace(/([.#:])/g, '$1').split(" ");
拆分的规则是-如果存在
[.#:]
则进行拆分-但是如果它们前面有空格(例如.foo
),则包括空格。我怎么做?
最佳答案
由于必须将"car.coo"
拆分为两个数组元素而不消耗任何字符,因此.split
可能不是您想要的。
您可以使用str.match
,它将形成一个由regexp解析的字符串组成的数组:
"bar .foo car.coo".match(/( [.#:]|[.#:])?[^.#: ]+/g);
// ["bar", " .foo", "car", ".coo"]