11

複数の区切り文字を使用して分割する方法は知っていますが、文字列を2つの文字の間の配列に分割する方法がわかりません。それで:

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 に答える