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, '')
string replace () function résout parfaitement ce problème:
string.replace (s, old, new [ maxreplace])
Renvoie une copie de la chaîne s en remplaçant toutes les occurrences de sous-chaînes old 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'
Utilisation 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 supposer.)