Pourquoi le remplacement avec le caractère générique `*` (astérisque) dans Excel remplace-t-il de manière non intuitive plus de texte que prévu ?

Pourquoi le remplacement avec le caractère générique * (astérisque) dans Excel remplace-t-il de manière non intuitive plus de texte que prévu ?


Source : Super User [microsoft-office]

Vous pouvez utiliser une formule, REGEXREPLACE pour cela. Comme mentionné dans les commentaires, le * dans rechercher/remplacer peut être gourmand et produire des résultats inattendus.

Essayez =REGEXREPLACE(A2,"\|\[\d+\] Carbamidomethyl \(C\)",)

Je pense que cela devrait fonctionner ! (Il faudra peut-être ajuster l’expression régulière, mais la formule est ce que vous recherchez).

Modification : La raison pour laquelle |[*]... ne fonctionne pas, c’est parce que * est EXTRÊMEMENT gourmand. Vous dites à Excel de chercher |[ puis “n’importe quoi”.

Il remplacera tout ce qui est en rouge (…comme vous l’avez remarqué) :

Votre Rechercher/Remplacer revient exactement au même que de simplement faire |[* comme RECHERCHE. Tout ce qui se trouve au niveau de l’astérisque et après sera supprimé. Ce n’est pas un “espace réservé”, c’est un caractère générique signifiant essentiellement “tout ce qui est ici et après”. [Modification : Peut-être pas, voir le commentaire ci-dessous de @ilkkachu]

Vous POUVEZ utiliser ? comme caractère générique pour un SEUL caractère. Mais cela ne remplacera PAS |[13] Carb..., vous avez besoin de ?? :

Cela dit, il est toujours fortement recommandé d’utiliser la formule REGEXREPLACE pour de nombreuses raisons, la principale (à mon avis) étant que vous pouvez facilement tracer et suivre ce que vous faites, et comment vous remplacez les éléments.