在JavaScript 中用逗號分割字串,同時保留雙引號內容
在JavaScript 中處理逗號分隔的字串時,處理逗號分隔的字串時,處理這一點至關重要使用雙引號括起某些部分的情況。忽略這一點可能會導致意外的拆分。
問題:
給定一個逗號分隔的字串,目標是取得一個保留雙引號內內容的陣列。例如,將“a, b, c, “d, e, f”, g, h”轉換為六個元素的陣列:[“a”, “b”, “c”, “d, e, f” , "g", "h"].
錯誤的方法:
使用split() 方法和正規表示式,如/, |"[^" ] "/g 會錯誤地分割字串,甚至提取雙引號內的內容。
正確的解決方案:
為了正確處理這種情況,需要較客製化的正規需要表達式:
/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g
解釋:
const str = 'a, b, c, "d, e, f", g, h'; const arr = str.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g); for (let i = 0; i < arr.length; i++) { console.log(`arr[${i}] = ${arr[i]}`); }輸出:
以上是如何在 JavaScript 中拆分逗號分隔的字串,同時保留雙引號內的內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!