我有以下字符串:
"dogs@cats^horses^fish!birds"
如何获取以下数组?
['dogs','@cats','^horses','^fish','!birds']
基本上我正在尝试在保持分隔符的同时拆分字符串。我试过string.match
但没有用。
答案 0 :(得分:4)
假设这些是你唯一的分隔符,那么你可以这样做:
var string = "dogs@cats^horses^fish!birds";
string.replace(/(@|\^|!)/g, '|$1').split('|');
我们基本上添加了自己的分隔符,在这种情况下为|
并根据它进行拆分。
答案 1 :(得分:2)
这样做你想要的:
str.match(/((^|[^\w])\w+)/g)
虽然没有更多的测试用例,但很难说它有多可靠。
这也假设有大量可能的分隔符。如果它是一个小的固定数量,那么Samer的解决方案将是一个很好的方法