Ответ 1
>>> s = 'Zaptoit:685158:[email protected]'
>>> s.split( ':', 1 )[1]
'685158:[email protected]'
Допустим, что мы имеем Zaptoit:685158:[email protected]
Как вы разбиваете, так что осталось только 685158:[email protected]
>>> s = 'Zaptoit:685158:[email protected]'
>>> s.split( ':', 1 )[1]
'685158:[email protected]'
Другое решение:
s = 'Zaptoit:685158:[email protected]'
s.split(':', 1)[1]
Другой метод без использования split:
s = 'Zaptoit:685158:[email protected]'
s[s.find(':')+1:]
Пример:
>>> s = 'Zaptoit:685158:[email protected]'
>>> s[s.find(':')+1:]
'685158:[email protected]'
По сравнению с Python 2.5 существует еще более прямое решение. Это ухудшает красиво, если разделитель не найден:
>>> s = 'Zaptoit:685158:[email protected]'
>>> s.partition(':')
('Zaptoit', ':', '685158:[email protected]')
>>> s.partition(':')[2]
'685158:[email protected]'
>>> s.partition(';')
('Zaptoit:685158:[email protected]', '', '')
s = re.sub('^.*?:', '', s)
Используйте метод str.split() со значением параметра maxsplit как 1.
mailID = 'Zaptoit:685158:[email protected]'
mailID.split(':', 1)[1]
Надеюсь, что это помогло.
После разделения строки, игнорирует первый элемент и присоединяется к остальным:
":".join(x.split(":")[1:])
Вывод:
'685158:[email protected]'