J'ai un exemple de chaîne. 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, '')
J'ai un exemple de chaîne. 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, '')
Réponses:
La fonction string replace () résout parfaitement ce problème:
string.replace (s, ancien, nouveau [, maxreplace])
Renvoie 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 de maxreplace sont remplacées.
>>> u'longlongTESTstringTEST'.replace('TEST', '?', 1)
u'longlong?stringTEST'
À utiliser re.sub
directement, cela vous permet de spécifier un count
:
regex.sub('', url, 1)
(Notez que l'ordre des arguments est replacement
, original
non l'inverse, comme on pouvait soupçonner.)
url
?