\

Pythonでは、文字列を分割する際に引用符を尊重する方法があります。これは、文字列内の引用符で囲まれた部分を一つの要素として扱いたい場合に便利です。具体的な方法は以下の通りです。

まず、Pythonの組み込みモジュールであるshlexを使用します。このモジュールは、シェル風のレキシングを行うためのクラスと関数を提供しています。

import shlex

mystring = 'a=foo, b=bar, c="foo, bar", d=false, e="false"'
splitter = shlex.shlex(mystring, posix=True)
splitter.whitespace += ','
splitter.whitespace_split = True
print(list(splitter))  # ['a=foo', 'b=bar', 'c=foo, bar', 'd=false', 'e=false']

上記のコードでは、shlex.shlexを使用して文字列を分割しています。posix=Trueを指定すると、POSIXモードで動作し、引用符で囲まれた部分を一つの要素として扱います。ただし、このモードでは引用符が削除されてしまいます。

引用符を保持したい場合は、posix=Falseを指定します。

import shlex

text = 'This is "a simple" test'
print(shlex.split(text, posix=False))  # ['This', 'is', '"a simple"', 'test']

このように、Pythonのshlexモジュールを使用することで、引用符を尊重して文字列を分割することが可能です。この機能は、引用符で囲まれた部分を一つの要素として扱いたい場合に非常に便利です。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です