Rob*_*Rob 11 python string split
当使用Python字符串函数split()时,是否有人有一个漂亮的技巧来处理被双引号包围的项目作为非分裂单词?
说我想只在白色空间分裂,我有这个:
>>> 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']
Run Code Online (Sandbox Code Playgroud)
我想将双引号内的任何内容视为一个单词,即使嵌入了空格,也希望最终得到以下内容:
['A', 'B', 'C', 'DE', 'FE', 'GH I JK L', '', '', 'O P Q', 'R']
Run Code Online (Sandbox Code Playgroud)
或者至少这个,然后我将剥离双引号:
['A', 'B', '"C"', 'DE', '"FE"', '"GH I JK L"', '""', '""', '"O P Q"', 'R']
Run Code Online (Sandbox Code Playgroud)
任何非正则表达式的建议?
Sve*_*ach 34
您将无法获得此行为str.split()
.如果您可以使用相当复杂的解析(例如忽略前面带有反斜杠的双引号),shlex.split()
那么您可能正在寻找:
>>> shlex.split(myStr)
['A', 'B', 'C', 'DE', 'FE', 'GH I JK L', '', '', 'O P Q', 'R']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7484 次 |
最近记录: |