首页 >web前端 >js教程 >如何在 JavaScript 中用逗号分割字符串,同时忽略双引号内的逗号?

如何在 JavaScript 中用逗号分割字符串,同时忽略双引号内的逗号?

Patricia Arquette
Patricia Arquette原创
2024-10-28 05:16:30516浏览

How to Split a String by Commas While Ignoring Commas Within Double Quotes in JavaScript?

用逗号分割字符串并忽略双引号内的字符串 (JavaScript)

使用字符串时,可能需要分割它们根据指定的分隔符转换为元素数组。但是,有时分隔符出现在双引号内,在拆分时应忽略该分隔符。

考虑以下需要转换为六个元素的数组的字符串:“a, b, c,”d, e、f”、g、h”。目标是分隔每个元素,同时忽略双引号中的逗号。

一种方法是使用正则表达式:

<code class="javascript">var str = 'a, b, c, "d, e, f", g, h';
var arr = str.match(/(&quot;.*?&quot;|[^&quot;,\s]+)(?=\s*,|\s*$)/g);</code>

以下是正则表达式的细分:

(
    &quot;.*?&quot;       # double quotes + anything but double quotes + double quotes
    |           # OR
    [^&quot;,\s]+    # 1 or more characters excl. double quotes, comma or spaces of any kind
)
(?=             # FOLLOWED BY
    \s*,        # 0 or more empty spaces and a comma
    |           # OR
    \s*$        # 0 or more empty spaces and nothing else (end of string)
)

此正则表达式将捕获双引号字符串或任何其他非逗号或空格的字符,防止引号逗号被拆分。

arr 数组将包含拆分元素,其中然后可以记录或用于进一步处理。

以上是如何在 JavaScript 中用逗号分割字符串,同时忽略双引号内的逗号?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn