Quel serait le meilleur moyen de scinder une chaîne lors de la première occurrence d'un délimiteur?
Par exemple:
"123mango abcd mango kiwi Peach"
diviser sur le premier mango
pour obtenir:
"abcd mango kiwi Peach"
De les docs :
str.split([sep[, maxsplit]])
Renvoie une liste des mots de la chaîne en utilisant sep comme chaîne de délimitation. Si maxsplit est donné, au maximum maxsplit sont effectués (ainsi, la liste aura au plus
maxsplit+1
éléments).
s.split('mango', 1)[1]
>>> s = "123mango abcd mango kiwi Peach"
>>> s.split("mango", 1)
['123', ' abcd mango kiwi Peach']
>>> s.split("mango", 1)[1]
' abcd mango kiwi Peach'
Pour moi, la meilleure approche est la suivante:
s.split('mango', 1)[-1]
... parce que s'il se produit que cette occurrence ne se trouve pas dans la chaîne, vous obtiendrez "IndexError: list index out of range"
".
Par conséquent, -1
ne subira aucun préjudice, car le nombre d'occurrences est déjà défini sur un.