16 votes

Notepad++ recherche et remplacement dans une chaîne de caractères constante

En utilisant notepad++, j'obtiens 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

Je souhaite à présent supprimer le \text{} mais en gardant le texte au milieu.

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

26voto

Máté Juhász Points 20291

Vous pouvez le faire en suivant les étapes suivantes :

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

Vous pouvez le tester ici

0 votes

Super, donc le 1$ garde tout le texte ?

1 votes

Il conserve le texte capturé entre les crochets ( ([^}]*) )

7 votes

En particulier, $1 représente le premier groupe de capture, désigné par parenthèses . expressions-reguliere.info/refcapture.html

7voto

Excellll Points 12428

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

Recherche de :

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

Remplacer par :

\1

0 votes

Fonctionne pour moi dans Notepad2

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X