此 JavaScript 代码片段将使您能够解析数据中包含逗号的 CSV 字符串,同时忽略带引号的字段内的逗号:
const parseCSV = (csvString) => { const rows = csvString.split("\n"); const result = []; for (const row of rows) { const values = []; let currentField = ""; let inQuotes = false; for (const char of row) { if (char === '"' && currentField.length === 0) { inQuotes = !inQuotes; } else if (char === "," && !inQuotes) { values.push(currentField); currentField = ""; } else { currentField += char; } } if (currentField.length > 0) { values.push(currentField); } result.push(values); } return result; }; const csvString = 'string, duppi, du, 23, lala'; console.log(parseCSV(csvString));
此解决方案可解决您的问题通过对 CSV 字符串进行逐字符检查来进行查询。每次检测到逗号并且字符串不在带引号的字段内时,都会生成一个新字段。当字段开头遇到双引号时,表示带引号字段的开始。带引号的字段外的另一个双引号表示该字段的结束。通过不断检查值,该技术将 CSV 字符串精确地划分为各个字段,同时考虑到引用区域。
以上是如何在 JavaScript 中解析带逗号的 CSV 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!