
用逗号分割字符串,同时忽略双引号内的文本
当逗号出现在字符串中时,用逗号分割字符串的任务提出了独特的挑战双引号。以下是如何在 Javascript 中实现此目的:
1 2 | <code class = "js" > var str = 'a, b, c, "d, e, f", g, h' ;
var arr = str.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g);</code>
|
登录后复制
这种基于正则表达式的方法遵循特定模式来提取子字符串:
-
("".*?" ; 或 [^",s] ): 匹配用双引号 ("d, e, f") 括起来的段或不带引号、逗号或空格的序列 (a)。
-
((?=s*,|s*$)): 确保匹配项后跟逗号和空格或字符串末尾,以确保正确拆分。
结果是一个包含六个元素的数组:
1 | arr = [ 'a' , 'b' , 'c' , '"d, e, f"' , 'g' , 'h' ]
|
登录后复制
以上是如何在 JavaScript 中用逗号分割字符串,同时忽略双引号内的文本?的详细内容。更多信息请关注PHP中文网其他相关文章!