2012-09-27 89 views
1

我想分割一个使用“},{”的巨大字符串作为分隔符。用多个分隔符分割字符串

如果我使用下面的代码,我会把它分成它自己的字符串吗?

var i; 
var arr[]; 
while(str) { 
    arr[i] = str.split("/^}\,\s\{\/"); 
} 
+4

是字符串'JSON'? –

+0

@AustinBrunkhorst - 好的电话。 –

+0

你是什么意思“分裂成它自己的字符串”? –

回答

6

首先,摆脱while循环。字符串是不可改变的,所以它不会改变,所以你会有一个无限循环。

然后,您需要摆脱引号以使用正则表达式文字语法,并摆脱^,因为它将正则表达式锚定到字符串的开头。

/},\s\{/ 

或者只是不要使用正则表达式,如果你可以依赖那个确切的字符序列。改为使用字符串分隔符。

"}, {" 

此外,这是无效的语法。

var arr[]; 

所以你只要做一次分割,最后你会得到一串字符串。

总而言之,你想要这样的东西。

var arr = str.split(/*your split expression*/) 
+0

好吧......最初那是我的。只是第二次猜到自己......对于JS还不是很棒。我可以绝对依靠“},{”作为分割,但是我不必使用reg表达式来确保},{不被解释为别的东西? – Psyllex

+0

@Verber:如果在字符串中可能有其他的'},{'不应该是分割标记,那么'.split()'通常不起作用,除非有其他字符来区分它们。 –

0

var arr = str.split(/[\{\},\s]+/) 
0
var s = 'Hello"}, {"World"}, {"From"}, {"Ohio'; 
var a = s.split('"}, {"'); 
alert(a);