2014-06-19 7 views
15

Sto modificando un documento di e-book con molti markup non necessari. Ho un certo numero di sezioni nel testo con codice simile a questo:Trova e sostituisci con Regex in Microsoft Word 2013

<i>Some text here</i> 

Sto cercando di eseguire trovare una regex e sostituire che troverà qualsiasi frase tra i due i-tag, rimuovere i-tag, e applicare uno stile al testo.

Ecco quello che sto usando per la ricerca:

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

Sto anche Selezione degli stili> i (per il corsivo). Questo dice al nostro software di conversione di applicare il corsivo al testo. Se lascio gli i-tag, ciò che finisce per accadere è che il processo di conversione di ScribeNet li converte in valori esadecimali in modo che vengano visualizzati come testo letterale nell'e-book. Disordinato.

Quando eseguo questa ricerca, non ottengo risultati. Ho selezionato "caratteri jolly". Cosa mi manca? Secondo il sito Web della guida di Microsoft, * viene utilizzato per rappresentare qualsiasi numero o tipo di caratteri e le singole stringhe devono essere racchiuse tra parentesi.

risposta

12

Per cercare un carattere definito come carattere jolly, inserire una barra rovesciata (\) prima di quel carattere. Il * sé corrisponde a qualsiasi stringa di caratteri, in modo da utilizzare la gamma quantificatore per abbinare (1 o più volte)

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

Ah, nessun colpo ancora. Grazie per aver provato. In altre parole, la ricerca viene eseguita senza problemi, ma mi dice che non sono stati trovati risultati corrispondenti alla regex. Ho "usare caratteri jolly" selezionato in Trova e sostituisci. Non è la stessa cosa? – 1John5vs7

+0

@ 1John5vs7 Vedi modifica aggiornata. – hwnd

+0

Grazie mille per il vostro tempestivo aiuto, hwnd. – 1John5vs7

5

Cerca \<i\>(*{1,})\</i\> e sostituirlo con \1. Non dimenticare di controllare Use wildcard.

C'è una tabella di riferimento per "espressioni regolari" di Word qui: http://office.microsoft.com/en-ca/word-help/find-and-replace-text-by-using-regular-expressions-advanced-HA102350661.aspx

  • < e > sono caratteri speciali che devono essere sfuggito
  • * significa qualsiasi carattere
  • {1,} significa uno o più times
+0

Spiacente, non ho visto il tuo post prima di aver corretto la mia modifica .. – hwnd

+0

@Vache Grazie anche per il tuo aiuto. Hwnd ha avuto la risposta prima di te quindi ho sentito che era solo etico dargli il verdetto, ma non appena avrò 15 reputazione avrò più voti di entrambe le tue risposte! :) Buona giornata. – 1John5vs7

+1

Per chiunque altro cerchi come eseguire espressioni regolari in Word, il collegamento sopra riportato è utile, ma da nessuna parte in quella pagina si trova alcun tipo di tabella completa. Ecco il tavolo - l'ho trovato. Sto postando quindi potrebbe salvare alcuni di voi il tempo e la frustrazione per cui continuo a cercare un riferimento regex completo. https://msdn.microsoft.com/en-us/library/cc295435.aspx?f=255&MSPPError=-2147217396 –