Как лучше всего разбить строку при первом появлении разделителя?
Например, :
"123mango abcd mango kiwi peach"
разделение первого манго
, чтобы получить:
"abcd mango kiwi peach"
Можно также использовать str.partition
:
>>> text = "123mango abcd mango kiwi peach"
>>> text.partition("mango")
('123', 'mango', ' abcd mango kiwi peach')
>>> text.partition("mango")[-1]
' abcd mango kiwi peach'
>>> text.partition("mango")[-1].lstrip() # if whitespace strip-ing is needed
'abcd mango kiwi peach'
преимущество использования str.partition
состоит в том, что оно всегда собирается возвращать кортеж в форме:
(<pre>, <separator>, <post>)
, Таким образом, это делает распаковку вывода действительно гибкой, поскольку существует всегда попытка быть 3 элементами в получающемся кортеже.
df.columnname[1].split('.', 1)
Это разделит данные с первым вхождением '.' в значении столбца кадра данных или строке.