使用 JavaScript 用逗号分割字符串,忽略双引号内的逗号
解决用逗号分割字符串同时保留 double 的挑战- 引用段,我们可以在 JavaScript 中使用正则表达式。方法如下:
var str = 'a, b, c, "d, e, f", g, h';
var arr = str.match(/(".*?"|[^",\s] )(?=\s*,|\s*$)/g);
// Handle the case of no matches to prevent errors
arr = arr || [];
// Iterate over the matches and display them
for (var i = 0; i 此正则表达式使用两个捕获组来匹配感兴趣的子字符串:
- 组 1: 匹配双引号段 ("d, e, f ") 使用贪婪运算符 (.*?) 捕获双引号内的所有内容。
- Group 2: 匹配任何不包含双引号、逗号或空白字符 ([^",\s] ) 的其他字符序列(例如,“a”、“g”)。
前瞻断言 ( ?=\s*,|\s*$) 确保匹配项后跟空格和逗号或字符串末尾。这确保我们只捕获逗号分隔的段。
通过匹配带引号和不带引号的段,该解决方案准确地将给定字符串拆分为六个元素的数组:["a", "b", "c ", "d, e, f", "g", "h"].
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3