Python Split String

时间:2009-01-12 19:10:57

标签: python regex parsing split

假设我们有Zaptoit:685158:zaptoit@hotmail.com

如何拆分,只留下685158:zaptoit@hotmail.com

7 个答案:

答案 0 :(得分:13)

>>> s = 'Zaptoit:685158:zaptoit@hotmail.com'
>>> s.split( ':', 1 )[1]
'685158:zaptoit@hotmail.com'

答案 1 :(得分:5)

另一种解决方案:

s = 'Zaptoit:685158:zaptoit@hotmail.com'
s.split(':', 1)[1]

答案 2 :(得分:5)

另一种方法,不使用分割:

s = 'Zaptoit:685158:zaptoit@hotmail.com'
s[s.find(':')+1:]

例如:

>>> s = 'Zaptoit:685158:zaptoit@hotmail.com'
>>> s[s.find(':')+1:]
'685158:zaptoit@hotmail.com'

答案 3 :(得分:3)

从Python 2.5开始,有一个更直接的解决方案。如果找不到分隔符,它会很好地降级:

>>> s = 'Zaptoit:685158:zaptoit@hotmail.com'
>>> s.partition(':')
('Zaptoit', ':', '685158:zaptoit@hotmail.com')

>>> s.partition(':')[2]
'685158:zaptoit@hotmail.com'

>>> s.partition(';')
('Zaptoit:685158:zaptoit@hotmail.com', '', '')

答案 4 :(得分:0)

s = re.sub('^.*?:', '', s)

答案 5 :(得分:0)

使用方法str.split(),其值为maxsplit参数为1。

mailID = 'Zaptoit:685158:zaptoit@hotmail.com' 
mailID.split(':', 1)[1]

希望它有所帮助。

答案 6 :(得分:0)

在拆分字符串后,忽略第一个元素并重新加入其余元素:

":".join(x.split(":")[1:])

输出:

'685158:zaptoit@hotmail.com'