2017-05-28 62 views
1

我有一個字符串,它看起來像一個字符串數組。我需要JavaScript中的正則表達式模式來提取主字符串中的子字符串,並返回子字符串。看看下面給出的字符串,我需要一個基於這個字符串的正則表達式。正則表達式會提取像這樣的子字符串: files/file/img1.jpg,files/file/img2.jpg等等,直到結束。儘可能多的目錄,我希望他們被提取。暫時只考慮它不是一個數組,它只是一個字符串。謝謝JavaScript正則表達式從主字符串中提取雙重字符串的子字符串

str = 
 
"["files/file/img1.jpg","files/file/img2.jpg","files/file/img3.jpg","files/file/img4.jpg","files/file/img5.jpg","files/file/img6.jpg"] ";

+1

does ['JSON.parse'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)不適合你嗎? –

回答

3

使用JSON.parse解析您的string.Then只是遍歷數組了。

var str = 
 
'["files/file/img1.jpg","files/file/img2.jpg","files/file/img3.jpg","files/file/img4.jpg","files/file/img5.jpg","files/file/img6.jpg"]'; 
 
    
 
var result = JSON.parse(str); 
 
for(var i= 0; i< result.length;i++){ 
 
    console.log(result[i]); 
 
}

+1

謝謝你這個工作:) –

+0

@CodeTech這ansewer是一樣的我的回答是嗎?在這個例子中他正在循環。在我剛剛加入的答案中,。向你展示所有的字符串 –

0

的語法是有點不對。它應該是:

var str ="[\"files/file/img1.jpg\",\"files/file/img2.jpg\",\"files/file/img3.jpg\",\"files/file/img4.jpg\",\"files/file/img5.jpg\",\"files/file/img6.jpg\"] "; 

除此之外,我們可以只使用多個JavaScript字符串處理函數提取字符串:

data = str.split('["')[1].split('"]')[0].replace(/"/g, "").split(','); 

現在變量數據是有你需要的所有目錄的數組。輸出看起來像這樣:

(6) ["files/file/img1.jpg", "files/file/img2.jpg", "files/file/img3.jpg", "files/file/img4.jpg", "files/file/img5.jpg", "files/file/img6.jpg"] 

您可以通過索引它來獲取每個目錄:data [0]是第一個。

相關問題