ホームページ > Java > &#&チュートリアル > Javaで引用符内のカンマを無視してカンマ区切りのテキストを分割するにはどうすればよいですか?

Javaで引用符内のカンマを無視してカンマ区切りのテキストを分割するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-23 17:08:14
オリジナル
764 人が閲覧しました

How to Split Comma-Separated Text While Ignoring Commas Within Quotes in Java?

引用符内のカンマを無視したカンマ区切りテキストの分割

特定の値に引用符内のカンマが含まれている場合、カンマ区切り値を含むテキストの解析が困難になることがあります。単純なカンマ区切り文字を使用して Java の String.split メソッドを使用すると、多くの場合、これらの引用符で囲まれたカンマを含む値が分割されます。この問題には、引用符の外側と内側のカンマを区別する解決策が必要です。

この問題の解決策は正規表現にあります。次の Java コード スニペットは、包括的なソリューションを提供します。

String[] arr = str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
ログイン後にコピー

この正規表現は、直後に偶数個の二重引用符が続かないコンマに基づいて文字列を分割します。正規表現の詳細な説明は次のとおりです。

  • ,(?=: 文字列をカンマで分割し、その後に先読み式が続きます。
  • ( ?=(?:[^"]*"[^"]*")*[^"]*$): 先読み式により、カンマの後に必ず偶数の二重引用符。

    • [^"]*: 0 個以上の非引用符文字と一致します。
    • "[^"]*": 二重引用符のペアと一致します。
    • *: 直前の式と 0 回以上 (double の偶数回) 一致します。
    • [^"]*$: 先読み式が文字列の終わりまで一致することを保証し、すべてのカンマによって分割がトリガーされるのを防ぎます。

この正規表現を使用すると、二重引用符内のカンマを無視して、カンマ区切りのテキストを効果的に分割できます。この方法により、テキストを解析できます。信頼性の高い方法で、引用符で囲まれた値がそのまま残ることを保証します。

以上がJavaで引用符内のカンマを無視してカンマ区切りのテキストを分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート