我有一个字符串是这样的:
这是[括号测试]“和引号测试”
我正在尝试用 Python 编写一些东西以按空格将其拆分,同时忽略方括号和引号内的空格。我正在寻找的结果是:
['this','is','bracket test','and quotes test']
最佳答案
这是一个适用于您的测试输入的简单解决方案:
import re
re.findall('\[[^\]]*\]|\"[^\"]*\"|\S+',s)
这将返回任何匹配的代码
- 一个左括号,后跟零个或多个非右括号字符,后跟一个右括号,
- 双引号后跟零个或多个非引号字符后跟引号,
- 任何一组非空白字符
这适用于您的示例,但对于您可能遇到的许多现实世界字符串可能会失败。例如,您没有说出您对不平衡括号或引号的期望,或者您希望单引号或转义字符如何工作。不过,对于简单的情况,上述内容可能就足够了。
关于python - 在 python 中拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/234512/