2011-03-30 82 views
1

所以我試圖分裂在javacript一個字符串,一些看起來是這樣的:如何在不使用雙引號的情況下在逗號分隔文本,同時保留引號?

"foo","super,foo" 

現在,如果我用.split(",")它會變成串入含有[0]"foo" [1]"super [2]foo" 但是一個數組,我只是想拆分逗號即引號之間,如果我用.split('","'),它會變成[0]"foo [1]super,foo"

有沒有一種方法可以讓我分裂表達分隔符的元素,但有它保持一定的分隔符,而無需編寫代碼來連接的值回到字符串?

編輯:

我希望得到[0]"foo",[1]"super,foo"作爲我的結果。本質上,我需要編輯某些數據的方式,我需要[0]中的內容永遠不會被更改,但[1]的內容將根據其內容而變化。它會得到級聯回看起來像"foo", "I WAS CHANGED"或者它確實將保持不變,如果[1],其中沒有東西需要改變

+0

有什麼你想從''foo','super,foo''想要的最終結果? – 2011-03-30 17:40:14

+0

是的,謝謝你的提醒添加它,湯姆 – James 2011-03-30 17:43:21

+0

對不起,你想輸出相同的輸入? – 2011-03-30 17:44:17

回答

5

內容試試這個:

'"foo","super,foo"'.replace('","', '"",""').split('","'); 
2

爲了討論的方便和大家發現這個頁面的好處是搜索的幫助,這裏是一個更靈活的解決方案:

var text = '"foo","super,foo"'; 
console.log(text.match(/"[^"]+"/g)); 

輸出

['"foo"', '"super,foo"'] 

這個工程通過傳遞「G」(global)標誌RegExp實例導致比賽來​​回報/"[^"]"/其捕獲"foo,bar""foo"所有出現的數組,甚至"['foo', 'bar']""["foo", "bar"]"回報[""["", "", "", ""]""]

相關問題