Comment puis-je obtenir une chaîne après une sous-chaîne spécifique ?
Par exemple, je veux obtenir la chaîne après "world"
dans my_string="hello python world , i'm a beginner "
.
La méthode la plus simple consiste probablement à se concentrer sur le mot cible.
my_string="hello python world , i'm a beginner "
print my_string.split("world",1)[1]
split prend le mot (ou le caractère) à séparer et optionnellement une limite au nombre de séparations.
Dans cet exemple, le mot "monde" est divisé et le nombre de divisions est limité à une seule.
s1 = "hello python world , i'm a beginner "
s2 = "world"
print s1[s1.index(s2) + len(s2):]
Si vous voulez traiter le cas où s2
n'est pas présent dans s1
, alors utilisez s1.find(s2)
au lieu de index
. Si la valeur de retour de cet appel est -1
, alors s2
n'est pas dans s1
.
Si vous voulez faire cela en utilisant une expression rationnelle, vous pouvez simplement utiliser un [groupe non capturant] (http://www.regular-expressions.info/brackets.html), pour obtenir le mot "monde" et saisir tout ce qui suit, comme suit
(?:world).*
La chaîne d'exemple est testée ici