2014-06-19 29 views
15

Ich bearbeite ein E-Book-Dokument mit vielen unnötigen Markup. Ich habe eine Reihe von Abschnitten in dem Text mit Code ähnlich wie diese:Suchen und Ersetzen von Regex in Microsoft Word 2013

<i>Some text here</i> 

Ich versuche, ein regulärer Ausdruck zu laufen Suchen und Ersetzen, dass jede Phrase zwischen den beiden i-Tags finden, entfernen Sie die i-Tags, und wenden Sie einen Stil auf den Text an. Hier

ist, was ich bin mit suchen:

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

ich auch die Auswahl Styles> i (für kursiv). Dies weist unsere Konvertierungssoftware an, Kursivschrift auf den Text anzuwenden. Wenn ich die i-Tags belasse, passiert es, dass der Konvertierungsprozess von ScribeNet sie in Hex-Werte umwandelt, so dass sie als wörtlicher Text im E-Book erscheinen. Unordentlich.

Wenn ich diese Suche ausführen, bekomme ich keine Ergebnisse. Ich habe "Wildcards verwenden" aktiviert. Was vermisse ich? Laut der Hilfeseite von Microsoft wird * verwendet, um eine beliebige Anzahl oder Art von Zeichen darzustellen, und einzelne Zeichenfolgen sollen in Klammern eingeschlossen sein.

Antwort

12

Um nach einem Zeichen zu suchen, das als Platzhalter definiert ist, platzieren Sie vor diesem Zeichen einen umgekehrten Schrägstrich (\). Die * passt sich eine beliebige Zeichenfolge, so die Reichweite quantifier verwenden anzupassen (1 oder mehrmals)

Find: \<i\>(*{1,})\</i\> 
Replace: \1 
+0

Ah, noch keine Treffer. Vielen Dank für den Versuch. Mit anderen Worten, die Suche läuft ohne Probleme, aber es sagt mir, dass keine Ergebnisse gefunden werden, die zu diesem Regex passen. Ich habe "Wildcards verwenden" in Suchen & Ersetzen aktiviert. Ist das nicht das Gleiche? – 1John5vs7

+0

@ 1John5vs7 Siehe aktualisierte Bearbeitung. – hwnd

+0

Vielen Dank für Ihre rechtzeitige Hilfe, hwnd. – 1John5vs7

5

Suche nach \<i\>(*{1,})\</i\> und ersetzen mit \1. Vergessen Sie nicht, Use wildcard zu überprüfen.

Es gibt eine Referenztabelle für Word „reguläre Ausdrücke“ hier: http://office.microsoft.com/en-ca/word-help/find-and-replace-text-by-using-regular-expressions-advanced-HA102350661.aspx

  • < und > sind Sonderzeichen, die
  • entwertet werden müssen
  • * bedeutet ein beliebiges Zeichen
  • {1,} bedeutet eine oder mehrere mal
+0

Entschuldigung, ich habe Ihren Beitrag nicht gesehen, bevor ich meine Bearbeitung korrigiert habe. – hwnd

+0

@Vache Danke auch für Ihre Hilfe. Hwnd hatte die Antwort vor dir, also fühlte ich, dass es nur ethisch war, ihm den grünen Scheck zu geben, aber sobald ich 15 Ruf habe, werde ich beide deine Antworten aufwerten! :) Einen schönen Tag haben. – 1John5vs7

+1

Für alle anderen, die nach Regex in Word suchen, ist der obige Link hilfreich, aber nirgendwo auf dieser Seite finden Sie eine umfassende Tabelle. Hier ist der Tisch - ich habe es gefunden. Ich poste, damit es einigen von Ihnen die Zeit und die Frustration sparen kann, die ich fortlaufe, nach einer 'umfassenden' Regexreferenz suchend. https://msdn.microsoft.com/en-us/library/cc295435.aspx?f=255&MSPPError=-2147217396 –