如何用空格分割字符串,不包括Python中双引号之间的空格? [复制]

Posted

技术标签:

【中文标题】如何用空格分割字符串,不包括Python中双引号之间的空格? [复制]【英文标题】:How to split a string by spaces excluding ones between double quotes in Python? [duplicate] 【发布时间】:2021-03-26 11:15:06 【问题描述】:

我正在尝试将文本拆分为 Python 中的列表,但我想排除双引号之间的文本和空格。 简而言之,是这样的:

def splitdq(text):
    # do spliting stuff here...

test = 'The "quick brown fox" jumps over the "lazy dog."'
print(splitdq(test))
>>> ["The", "quick brown fox", "jumps", "over", "the", "lazy dog."]

我找到了一些解决方案,但他们要么保留引号,要么就是不起作用。 那么,有没有办法在 Python 中做到这一点?

【问题讨论】:

这能回答你的问题吗? Split a string by spaces -- preserving quoted substrings -- in Python 是的,这正是我想要的,谢谢 :) 【参考方案1】:

您可以使用shlex 类,它可以轻松为简单的语法编写词法分析器,例如

import shlex
test = 'The "quick brown fox" jumps over the "lazy dog."'
s = shlex.split(test)
for i in s:
    print(i)

【讨论】:

谢谢!这正是我想要的 不客气@bemxio

以上是关于如何用空格分割字符串,不包括Python中双引号之间的空格? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何用逗号分割不跟空格的字符串?

Python - 如何用非字母字符分割字符串

如何用逗号分割字符串而不在perl的引号内包含逗号?

如何用逗号和空格java分割表达式

用空格和冒号分割字符串,但如果在引号内则不分割

Python中,怎么在字符串里嵌入双引号或者单引号