M.E*_*.E. 4 python regex python-2.7
我想转这个:
mystr = ' foo1 (foo2 foo3 (foo4))'
Run Code Online (Sandbox Code Playgroud)
进入:
['foo1','foo2 foo3 (foo4)']
Run Code Online (Sandbox Code Playgroud)
所以基本上我必须根据一些空格/制表符和括号进行拆分。
我已经看到 re package split 函数可以处理多个分隔符(Python: Split string with multiple delimiters),但我无法理解解析这种字符串的正确方法。
哪个是最好的-最pythonic-和简单的方法?
据我所知,这与您想要的一致,并且非常简单。它只是使用一些切片来隔离第一个单词和括号之间的部分。strip
由于额外的空间,它还必须使用几次。这可能看起来有点冗长,但说实话,如果任务可以通过如此简单的字符串操作来完成,我觉得复杂的解析是不必要的(尽管我可能弄错了)。请注意,这在要拆分的空白量方面是灵活的。
mystr = ' foo1 (foo2 foo3 (foo4))'
mystr = mystr.strip()
i = mystr.index(' ')
a = mystr[:i].strip()
b = mystr[i:].strip()[1:-1]
print([a, b])
Run Code Online (Sandbox Code Playgroud)
带输出
['foo1', 'foo2 foo3 (foo4)']
Run Code Online (Sandbox Code Playgroud)
虽然我仍然不完全清楚这是否是你想要的。让我知道它是否有效或需要改变什么。
归档时间: |
|
查看次数: |
11382 次 |
最近记录: |