ホームページ >ウェブフロントエンド >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)

文字列を操作する場合、文字列を分割する必要がある場合があります。指定された区切り文字に基づいて要素の配列に変換されます。ただし、二重引用符内に区切り文字が含まれる場合があります。これは、分割中に無視する必要があります。

6 つの要素からなる配列に変換する必要がある次の文字列を考えてみましょう: "a, b, c, "d, e、f"、g、h"。目標は、二重引用符で囲まれたコンマを無視して各要素を区切ることです。

1 つの方法は、正規表現を使用することです。

<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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。