154 votes

Remplacer la première occurrence d'une chaîne de caractères en Python

J'ai quelques exemples de chaînes. Comment puis-je remplacer la première occurrence de cette chaîne dans une chaîne plus longue par une chaîne vide ?

regex = re.compile('text')
match = regex.match(url)
if match:
    url = url.replace(regex, '')

319voto

virhilo Points 2624

Chaîne de caractères remplacer() résout parfaitement ce problème :

string.replace(s, old, new[, maxreplace])

Retourne une copie de la chaîne s avec toutes les occurrences de la sous-chaîne old remplacées par new. Si l'argument optionnel maxreplace est donné, les premières occurrences maxreplace sont remplacées.

u'longlongTESTstringTEST'.replace('TEST', '?', 1) u'longlong?stringTEST'

22voto

Konrad Rudolph Points 231505

Utilice re.sub directement, cela vous permet de spécifier un count :

regex.sub('', url, 1)

(Notez que l'ordre des arguments est replacement , original et non l'inverse, comme on pourrait le soupçonner).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X