Notepad ++ rechercher et remplacer dans une chaîne constante

6

Utilisation du bloc-notes ++ J'ai le texte suivant.

This little piggy went to market, \textbf{smith1774}
This little \textbf{ben1864} piggy stayed \textbf{mueller2867} home,
This little piggy had roast beef

Maintenant je veux enlever le \text{} mais gardez le texte au milieu.

Je ne peux pas faire une simple recherche et remplacer en deux étapes ( \text{ + } ) que contient mon document {} dans d'autres positions .....

lukeg
la source

Réponses:

10

Vous pouvez le faire en suivant ces étapes:

  • ouvrir la boîte de dialogue Rechercher et remplacer (CTRL + H)
  • assurez-vous que la case "expression régulière" est cochée
  • trouver quoi:
    \\textbf\{([^}]*)\}
  • remplacer par:
    $1

Vous pouvez tester est ici

Máté Juhász
la source
Génial, alors le $ 1 conserve tout le texte?
lukeg
1
il conserve le texte entre les crochets ( ([^}]*) )
Máté Juhász
1
Plus précisément, $1 représente le premier groupe de capture, noté avec parenthèses . regular-expressions.info/refcapture.html
Flimbus Akimbo
1
Cela ne fonctionnait pas tant que je n'avais pas remplacé le texte de remplacement de $ 1 par \ 1, mais j'utilise Notepad2, pas Notepad ++. Bon conseil cependant!
jacobsee
J'ai toujours utilisé \1, \2, etc. comme valeur de remplacement dans NP ++.
Tom Carpenter
4

Une approche alternative consiste à utiliser un caractère générique non-gourmand ( .*? ) dans le groupe de capture.

Rechercher:

\\textbf\{(.*?)\}

Remplacer par:

\1
Excellll
la source
Fonctionne pour moi dans Notepad2
jacobsee