2012-09-27 90 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);