回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>当使用Python string函数split()时,是否有人有一个巧妙的技巧将双引号包围的项视为不可拆分的词?</p>
<p>假设我只想在空白处分开,我有这个:</p>
<pre><code>>>> myStr = 'A B\t"C" DE "FE"\t\t"GH I JK L" "" ""\t"O P Q" R'
>>> myStr.split()
['A', 'B', '"C"', 'DE', '"FE"', '"GH', 'I', 'JK', 'L"', '""', '""', '"O', 'P', 'Q"', 'R']
</code></pre>
<p>我希望将双引号内的任何内容都视为一个单词,即使嵌入了空格,因此希望以以下方式结束:</p>
<pre><code>['A', 'B', 'C', 'DE', 'FE', 'GH I JK L', '', '', 'O P Q', 'R']
</code></pre>
<p>或者至少这个然后我去掉双引号:</p>
<pre><code>['A', 'B', '"C"', 'DE', '"FE"', '"GH I JK L"', '""', '""', '"O P Q"', 'R']
</code></pre>
<p>有什么非regex的建议吗?</p>