2017-09-27 64 views
-1

我有一系列的字符串格式錯誤這樣的JS:獲取格式不正確

"apple" 
"white melon, "apple", pineapple" 
"coconut, "apple", banana, coconut 
"red orange","banana" 
red melon,"banana" 

你看到有時引號不正確地使用字符串的第一個元素。

從本質上講,我不知道很多關於正則表達式,但我的目的是要得到每個字符串的第一個元素(可以是一個或多個字!),給出一個報價可以「包圍(或雙引號),逗號,或者沒有...

我的理想輸出將是

apple 
white melon 
coconut 
red orange 
red melon 

我想也許:

  1. 去除所有的字符串構成任何報價,
  2. 然後使用的indexOf逗號

中第一次出現之前得到任何東西是正確的?

+1

請包括的[MCVE] [你已經嘗試了什麼(http://whathaveyoutried.com),否則這個問題[題外話(#1)( /幫助/切合主題)。 – zzzzBov

+0

我剛剛在這裏添加了我的邏輯,而不是代碼 – Francesco

+0

然後請在提問之前花更多時間[研究](https://meta.stackoverflow.com/q/261592/497418)*。沒有試圖解決你自己的問題,這只是一個工作秩序。 – zzzzBov

回答

0

可以在JavaScript中使用正則表達式。以下代碼可生成您所需的確切輸出。

arr = ['"apple"', '"white melon, "apple", pineapple"', '"coconut, "apple", banana, coconut', '"red orange","banana"', 
 
    'red melon,"banana"' 
 
]; 
 

 

 

 
for (str in arr) { 
 
    var patt1 = /[\w+\s*]+/; 
 
    var result = arr[str].match(patt1); 
 
    console.log(result[0]); 
 
}