分割字符串在python
多个分隔符我有蟒蛇以下字符串:分割字符串在python
foo = 'a_b_c'
我如何分割字符串分为两个部分:'a_b'
和'c'
?即,我想在第二'_'
str.split('_')
分裂分裂成3个部分:'a'
,'b'
和'c'
。
使用str.rsplit()
method有限制:从右手侧
part1, part2 = foo.rsplit('_', 1)
str.rsplit()
分裂,并限制(第二个参数),它告诉,只分裂一次。
或者,使用str.rpartition()
:
part1, delimiter, part2 = foo.rpartition('_')
这包括定界符作为返回值。
演示:
>>> foo = 'a_b_c'
>>> foo.rsplit('_', 1)
['a_b', 'c']
>>> foo.rpartition('_')
('a_b', '_', 'c')
我打算低估这一点,因为它是以前回复的副本。 –
@AlexReynold很好,这是一个糟糕的原因downvote。而这个答案不是评论的副本。 – vaultah
@AlexReynolds:评论是*不*回复,我也不能帮助某人选择使用评论。我没有在评论中回答这个问题。此外,我的答案还包括另一个备选* *在评论中没有提到*。我希望投票发生在回答的帮助上。 –
import re
x = "a_b_c"
print re.split(r"_(?!.*_)",x)
您可以re
与使用lookahead
我们通过_
指出,拆分后不应该有_
做到这一点通过re
。在这里。
不' 'a_b_c'.rsplit(' _”,1)'为你工作? – vaultah