ホームページ >Java >&#&チュートリアル >正規表現を使用してカンマ区切りのテキストを引用符で分割するにはどうすればよいですか?
カンマ区切りのテキストを引用符で分割する
テキスト データにカンマ区切りの値が含まれる特定のシナリオでは、データを分割する必要があります。カンマに基づいて。ただし、データに引用符内にカンマが埋め込まれた文字列が含まれている場合に問題が発生します。
これに対処する汎用性の高い解決策は、二重引用符の外側にあるカンマを特にターゲットとする正規表現を採用することです。
str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
この正規表現を分析すると、
別の方法として、(?x) 修飾子を使用して同じ正規表現をより読みやすい形式で記述することもできます。これにより、複数行の式を拡張できるようになります。可読性:
String[] arr = str.split("(?x) " + ", " + // Split on comma "(?= " + // Followed by " (?: " + // Start a non-capture group " [^\"]* " + // 0 or more non-quote characters " \" " + // 1 quote " [^\"]* " + // 0 or more non-quote characters " \" " + // 1 quote " )* " + // 0 or more repetition of non-capture group (multiple of 2 quotes will be even) " [^\"]* " + // Finally 0 or more non-quotes " $ " + // Till the end (This is necessary, else every comma will satisfy the condition) ") " // End look-ahead );
このソリューションは、二重引用符で囲まれたカンマを含む文字列の整合性を維持しながら、カンマ区切りのテキストを分割する問題を効果的に解決します。
以上が正規表現を使用してカンマ区切りのテキストを引用符で分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。