您好,欢迎来到外链网!
当前位置:外链网 » 站长资讯 » 专业问答 » 文章详细 订阅RssFeed

python去除字符串两边的括号和空格,python字符串分割为单个字符

来源:互联网 浏览:65次 时间:2023-04-08

如果用户键入此:

new test (test1 test2 test3) test "test5 test6"

我想它看起来像输出到变量是这样的:

["new", "test", "test1 test2 test3", "test", "test5 test6"]

换句话说,如果它是一个单词由一个空格分隔,然后将它与下一个单词分开,如果它在括号中,则将整个单词分组在括号中并将其删除。引号也一样。

我目前使用此代码不符合上述标准(从上面的链接的答案):

>>>import re

>>>strs = "Hello (Test1 test2) (Hello1 hello2) other_stuff"

>>>[", ".join(x.split()) for x in re.split(r'[()]',strs) if x.strip()]

>>>['Hello', 'Test1, test2', 'Hello1, hello2', 'other_stuff']

这种运作良好,但有一个问题,如果你有这样的:

strs = "Hello Test (Test1 test2) (Hello1 hello2) other_stuff"

它将Hello和Test合并为一个分裂而不是两个。

它也不允许同时使用圆括号和引号拆分。

+2

看看贪婪和非贪婪匹配。 –

+0

@m?ter你有链接可以引导我学习指导吗?我发现的大多数问题都是关于它的问题,并不能真正帮助我,而且我也无法阅读python文档。如果剩下的就只剩下它了。 –

+0

对不起,我误解了这个问题。但是,这里有一个官方教程的链接:http://docs.python.org/2/library/re.html –

12220750