web-dev-qa-db-fra.com

Rechercher et remplacer par Regex dans Microsoft Word 2013

J'édite un document de livre électronique avec beaucoup de balisage inutile. J'ai un certain nombre de sections dans le texte avec un code similaire à celui-ci:

<i>Some text here</i>

J'essaie d'exécuter une recherche et un remplacement d'expressions rationnelles qui trouveront n'importe quelle phrase entre les deux i-tags, supprimera les i-tags et appliquera un style au texte.

Voici ce que j'utilise pour rechercher:

Find: (<i>)(*)(</i>)
Replace: \2

Je sélectionne également Styles> i (pour l'italique). Cela indique à notre logiciel de conversion d'appliquer l'italique au texte. Si je laisse les i-tags, ce qui finit par arriver, c'est que le processus de conversion de ScribeNet les convertit en valeurs hexadécimales afin qu'elles apparaissent sous forme de texte littéral dans le livre électronique. Désordonné.

Lorsque j'exécute cette recherche, je n'obtiens aucun résultat. J'ai coché "utiliser les caractères génériques". Qu'est-ce que je rate? Selon le site Web d'aide de Microsoft, * est utilisé pour représenter n'importe quel nombre ou type de caractères, et les chaînes individuelles sont censées être placées entre parenthèses.

17
1John5vs7

Pour rechercher un caractère défini comme caractère générique, placez une barre oblique inverse (\) devant ce caractère. Le * lui-même correspond à n'importe quelle chaîne de caractères, utilisez donc le quantificateur de plage pour faire correspondre (1 ou plusieurs fois)

Find: \<i\>(*{1,})\</i\>
Replace: \1
14
hwnd

Recherchez \<i\>(*{1,})\</i\> et remplacez par \1. N'oubliez pas de vérifier Use wildcard.

Il existe une table de référence pour les "expressions régulières" de Word ici: http://office.Microsoft.com/en-ca/Word-help/find-and-replace-text-by-using-regular-expressions -advanced-HA102350661.aspx

  • < et > sont des caractères spéciaux qui doivent être échappés
  • * signifie n'importe quel caractère
  • {1,} signifie une ou plusieurs fois
7
dee-see