Pythonで文字列をスペースで分割する -- 引用符で囲まれた部分文字列を保持する -- 質問する

Pythonで文字列をスペースで分割する -- 引用符で囲まれた部分文字列を保持する -- 質問する

次のような文字列があります:

this is "a test"

私は引用符内のスペースを無視してスペースで分割する何かを Python で書こうとしています。私が求めている結果は次のようになります:

['this', 'is', 'a test']

PS. 「引用符の中に引用符があったらどうなるのか」と聞かれると思いますが、私のアプリケーションでは、そんなことは決して起こりません。

ベストアンサー1

組み込みsplitshlexモジュール。

>>> import shlex
>>> shlex.split('this is "a test"')
['this', 'is', 'a test']

これで、まさに希望どおりの動作が実現するはずです。

引用符を保持したい場合は、posix=Falsekwarg を渡すことができます。

>>> shlex.split('this is "a test"', posix=False)
['this', 'is', '"a test"']

おすすめ記事