在 Python 中按空格分割字符串同时保留带引号的子字符串
处理同时包含空格和带引号的子字符串的字符串时,可能会遇到困难准确地分割字符串,同时保持引用部分的完整性。在 Python 中,shlex 模块为这种特定场景提供了解决方案。
使用 shlex.split() 保留引号
shlex.split() 函数允许您用空格分割字符串,同时将带引号的子字符串视为一个单元。这意味着带引号的子字符串中的空格将被忽略,并且带引号的文本将在结果列表中保留为单个元素。
用法示例:
考虑以下字符串:
this is "a test"
要使用 shlex.split() 拆分此字符串,只需导入模块并使用以下代码:
import shlex
result = shlex.split('this is "a test"')
结果变量将包含以下列表:
['this', 'is', 'a test']
带引号的子字符串(“a test”)内的空格已被忽略,带引号的文本已保留为单个元素。
保留引号
如果您还想在结果列表中保留引号本身,您可以将 posix=False 关键字参数传递给 shlex.split()。
例如:
result = shlex.split('this is "a test"', posix=False)
这将产生以下列表:
['this', 'is', '"a test"']
引号现在已保留为输出的一部分。
总之,shlex.split() 函数在Python 提供了一种方便有效的方法来按空格分割字符串,同时保留带引号的子字符串的完整性。通过使用 posix=False 关键字参数,您还可以在结果列表中保留引号。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3