使用各种分隔符拆分字符串,同时保留分隔符

时间:2015-03-11 21:17:02

标签: javascript string split

我有以下字符串:

"dogs@cats^horses^fish!birds"

如何获取以下数组?

['dogs','@cats','^horses','^fish','!birds']

基本上我正在尝试在保持分隔符的同时拆分字符串。我试过string.match但没有用。

2 个答案:

答案 0 :(得分:4)

假设这些是你唯一的分隔符,那么你可以这样做:

var string = "dogs@cats^horses^fish!birds";
string.replace(/(@|\^|!)/g, '|$1').split('|');

我们基本上添加了自己的分隔符,在这种情况下为|并根据它进行拆分。

答案 1 :(得分:2)

这样做你想要的:

str.match(/((^|[^\w])\w+)/g)

虽然没有更多的测试用例,但很难说它有多可靠。

这也假设有大量可能的分隔符。如果它是一个小的固定数量,那么Samer的解决方案将是一个很好的方法