次のような文字列があります:
this is "a test"
私は引用符内のスペースを無視してスペースで分割する何かを Python で書こうとしています。私が求めている結果は次のようになります:
['this', 'is', 'a test']
PS. 「引用符の中に引用符があったらどうなるのか」と聞かれると思いますが、私のアプリケーションでは、そんなことは決して起こりません。
ベストアンサー1
組み込みsplit
のshlex
モジュール。
>>> import shlex
>>> shlex.split('this is "a test"')
['this', 'is', 'a test']
これで、まさに希望どおりの動作が実現するはずです。
引用符を保持したい場合は、posix=False
kwarg を渡すことができます。
>>> shlex.split('this is "a test"', posix=False)
['this', 'is', '"a test"']