在python中拆分带有多个分隔符的字符串

时间:2015-10-05 17:10:37

标签: python string

我在python中有以下字符串:

foo = 'a_b_c'

如何将字符串拆分为两部分:'a_b''c'?即,我想在第二个'_'

分开

str.split('_')分为3个部分:'a''b''c'

2 个答案:

答案 0 :(得分:4)

使用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')

答案 1 :(得分:2)

import re
x = "a_b_c"
print re.split(r"_(?!.*_)",x)

您可以通过re进行此操作。relookahead使用_,我们将_分开,之后不应该\\ "Hello: World." -> "Hello : World ." \\ "It's 9:00?" -> "It ' s 9 : 00 ?" \\ "1.B,3.D!" -> "1 . B , 3 . D !" [a-ZA-Z\\d]+ }。