引用符を除くカンマ区切りテキストの分割
引用符が埋め込まれたカンマ区切りテキストを処理する場合、引用符内のカンマを無視する必要があります。セクション。この問題は、Python でデフォルトの string.split(",") メソッドを使用するときに発生します。
次の文字列について考えてみましょう:
"123,test,444,\"don't split, this\",more test,1"
デフォルトのメソッドを使用してこの文字列を分割すると、次のようになります。 result:
["123", "test", "444", "\"don't split", " this\"", "more test", "1"]
ご覧のとおり、引用符で囲まれたセクション内のカンマは無視されません。これに対処するには、正規表現が必要です。
str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)")
正規表現の説明:
この正規表現により、引用符で囲まれたセクションの外側にあるカンマのみが区切り文字として認識されます。
あるいは、Python で (?x) 修飾子を使用すると、読みやすさを向上させるために正規表現を複数行に分割します:
str.split("(?x)\n\ , \n\ (?=\n\ (?: \n\ [^\"]* \n\ \" \n\ [^\"]* \n\ \" \n\ )* \n\ [^\"]* \n\ $ \n\ ) \n")
このコードは、入力文字列を効果的に各要素が表すリストに分割します。引用符で囲まれたセクションの外側にあるカンマで区切られた部分文字列。
以上が引用符内のカンマを無視してカンマ区切りのテキストを分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。