11

我知道如何使用多个分隔符进行拆分,但我不知道如何将字符串拆分为两个字符之间的数组。所以:

var myArray = "(text1)(text2)(text3)".split(???)
//=> myArray[0] = "text1", myArray[1] = "text2", myArray[2] = "text3"

我应该在“???”中输入什么?还是我应该使用其他方法?

使“)(”分隔符不起作用,因为我想用各种分隔符(例如“>”)拆分数组,这使得列出所有可能的分隔符组合非常不切实际

4

2 回答 2

11
.split(/[()]+/).filter(function(e) { return e; });

请参阅此演示

于 2012-11-27T22:32:46.960 回答
2

使用 JavaScript 在不丢失任何字符的情况下使用特定字符之间的拆分是不可能的,因为您需要对此进行查看(不支持)。但是,由于您似乎想要括号的文本,而不是拆分,您可以只match使用不包含括号的最长可能字符串:

myArray = "(text1)(text2)(text3)".match(/[^()]+/g)
于 2012-11-27T22:26:56.697 回答