python字符串使用小括号_用括号分割Python的字符串

如果用户键入此:

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 –

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值