J'ai quelque chose comme ça:
text = 'This text is very very long.'
replace_words = ['very','Word']
for Word in replace_words:
text = text.replace('very','not very')
Je voudrais seulement remplacer le premier "très" ou choisir le "très" qui sera écrasé. Je fais cela sur des quantités de texte beaucoup plus importantes, donc je veux contrôler la façon dont les mots en double sont remplacés.
text = text.replace("very", "not very", 1)
>>> help(str.replace)
Help on method_descriptor:
replace(...)
S.replace (old, new[, count]) -> string
Return a copy of string S with all occurrences of substring
old replaced by new. If the optional argument count is
given, only the first count occurrences are replaced.
text = text.replace("very", "not very", 1)
Le troisième paramètre est le nombre maximal d'occurrences que vous souhaitez remplacer.
De la documentation pour Python :
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ée par new. Si l'argument facultatif maxreplace est donné, les premières occurrences maxreplace sont remplacées.
De http://docs.python.org/release/2.5.2/lib/string-methods.html :
remplacer (ancien, nouveau [ nombre])
Retourne une copie de la chaîne avec toutes les occurrences de la sous-chaîne old remplacée par new. Si le nombre d'arguments facultatif est donné, seules les premières occurrences de comptage sont remplacées.
Je n'ai pas essayé mais je crois que ça marche