Trova e sostituisci
Puoi navigare facilmente all’interno del tuo documento usando una tastiera e un mouse, ma se hai molte pagine da scorrere, ci vorrà un po ' di tempo per trovare testo specifico in un documento lungo. Sarà più dispendioso in termini di tempo quando si desidera sostituire determinati caratteri o parole che sono stati utilizzati nel documento. La funzionalità “Trova e sostituisci” consente di trovare una sequenza di caratteri in un documento e sostituirla con un’altra sequenza di caratteri.
Aspose.Words consente di trovare una stringa specifica o un modello di espressione regolare nel documento e sostituirlo con un’alternativa senza installare e utilizzare applicazioni aggiuntive come Microsoft Word. Ciò velocizzerà molte attività di digitazione e formattazione, risparmiando potenzialmente ore di lavoro.
Questo articolo spiega come applicare la sostituzione delle stringhe e le espressioni regolari con il supporto dei metacaratteri.
Modi per trovare e sostituire
Aspose.Words fornisce due modi per applicare l’operazione Trova e sostituisci utilizzando quanto segue:
- Simple string replacement – per trovare e sostituire una stringa specifica con un’altra, devi specificare una stringa di ricerca (caratteri alfanumerici) che verrà sostituita in base a tutte le occorrenze con un’altra stringa di sostituzione specificata. Entrambe le stringhe non devono contenere simboli. Tieni presente che il confronto delle stringhe può essere sensibile alle maiuscole e alle minuscole, oppure potresti non essere sicuro dell’ortografia o avere diverse ortografie simili.
- Regular expressions – per specificare un’espressione regolare per trovare le corrispondenze esatte di stringa e sostituirle in base alla tua espressione regolare. Nota che una parola è definita come composta solo da caratteri alfanumerici. Se viene eseguita una sostituzione con solo parole intere che corrispondono e la stringa di input contiene simboli, non verrà trovata alcuna frase.
Inoltre, è possibile utilizzare metacaratteri speciali con semplice sostituzione di stringhe ed espressioni regolari per specificare le interruzioni all’interno dell’operazione Trova e sostituisci.
Aspose.Words presenta la funzionalità trova e sostituisci con lo spazio dei nomi Aspose.Words.Replacing. È possibile utilizzare molte opzioni durante il processo di ricerca e sostituzione utilizzando la classe FindReplaceOptions.
Trova e sostituisci il testo usando la sostituzione semplice delle stringhe
È possibile utilizzare uno dei metodi Replace per trovare o sostituire una stringa particolare e restituire il numero di sostituzioni effettuate. In questo caso, è possibile specificare una stringa da sostituire, una stringa che sostituirà tutte le sue occorrenze, se la sostituzione è case-sensitive e se saranno interessate solo le parole stand-alone.
Il seguente esempio di codice mostra come trovare la stringa “_ CustomerName _ " e sostituirla con la stringa *“James Bond”*:
È possibile notare la differenza tra il documento prima di applicare la sostituzione semplice della stringa:
E dopo aver applicato una semplice sostituzione delle corde:
Trovare e sostituire il testo usando le espressioni regolari
Un’espressione regolare (regex) è un modello che descrive una determinata sequenza di testo. Supponiamo di voler sostituire tutte le occorrenze doppie di una parola con una singola occorrenza di parola. Quindi è possibile applicare la seguente espressione regolare per specificare il modello a doppia parola: ([a-zA-Z]+) \1
.
Utilizzare l’altro metodo Replace per cercare e sostituire particolari combinazioni di caratteri impostando il parametro Regex
come modello di espressione regolare per trovare corrispondenze.
L’esempio di codice seguente mostra come sostituire le stringhe che corrispondono a un modello di espressione regolare con una stringa di sostituzione specificata:
È possibile notare la differenza tra il documento prima di applicare la sostituzione delle stringhe con le espressioni regolari:
E dopo aver applicato la sostituzione delle stringhe con espressioni regolari:
Trova e sostituisci stringa usando metacaratteri
È possibile utilizzare i metacaratteri nella stringa di ricerca o nella stringa di sostituzione se un determinato testo o frase è composto da più paragrafi, sezioni o pagine. Alcuni metacaratteri includono &p per un’interruzione di paragrafo, &b per un’interruzione di sezione, &m per un’interruzione di pagina e &l per un’interruzione di riga.
Il seguente esempio di codice mostra come sostituire il testo con paragrafo e interruzione di pagina:
Trovare e sostituire la stringa nell’intestazione / piè di pagina di un documento
È possibile trovare e sostituire il testo nella sezione intestazione/piè di pagina di un documento Word utilizzando la classe HeaderFooter.
Il seguente esempio di codice mostra come sostituire il testo della sezione di intestazione nel documento:
È possibile notare la differenza tra il documento prima di applicare la sostituzione della stringa di intestazione:
E dopo aver applicato la sostituzione della stringa di intestazione:
L’esempio di codice per sostituire il testo della sezione piè di pagina nel documento è molto simile al precedente esempio di codice di intestazione. Tutto quello che devi fare è sostituire le seguenti due righe:
auto header = headersFooters->idx_get(HeaderFooterType::HeaderPrimary);
header->get_Range()->Replace(u"Aspose.Words", u"Remove", options);
Con il seguente:
auto footer = headersFooters->idx_get(HeaderFooterType::FooterPrimary);
footer->get_Range()->Replace(u"(C) 2006 Aspose Pty Ltd.", u"Copyright (C) Aspose Pty Ltd.", options);
È possibile notare la differenza tra il documento prima di applicare la sostituzione della stringa del piè di pagina:
E dopo aver applicato la sostituzione della stringa del piè di pagina:
Ignora il testo durante Trova e sostituisci
Durante l’applicazione dell’operazione Trova e sostituisci, è possibile ignorare determinati segmenti del testo. Quindi, alcune parti del testo possono essere escluse dalla ricerca e la ricerca e la sostituzione possono essere applicate solo alle parti rimanenti.
Aspose.Words fornisce molte proprietà trova e sostituisci per ignorare il testo come IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, e IgnoreInserted.
L’esempio di codice seguente mostra come ignorare il testo all’interno di Elimina revisioni:
Personalizza l’operazione Trova e sostituisci
Aspose.Words fornisce molti properties diversi per trovare e sostituire il testo, ad esempio l’applicazione di un formato specifico con proprietà ApplyFont e ApplyParagraphFormats, l’utilizzo di sostituzioni nei modelli di sostituzione con proprietà UseSubstitutions e altri.
L’esempio di codice seguente mostra come evidenziare una parola specifica nel documento:
Aspose.Words consente di utilizzare l’interfaccia IReplacingCallback per creare e chiamare un metodo personalizzato durante un’operazione di sostituzione. Potresti avere alcuni casi d’uso in cui è necessario personalizzare l’operazione trova e sostituisci come la sostituzione del testo specificato con un’espressione regolare con tag HTML, quindi in pratica applicherai replace con l’inserimento di HTML.
Se è necessario sostituire una stringa con un tag HTML, applicare l’interfaccia IReplacingCallback per personalizzare l’operazione trova e sostituisci in modo che la corrispondenza inizi all’inizio di un’esecuzione con il nodo di corrispondenza del documento. Forniamo alcuni esempi di utilizzo di IReplacingCallback.
Il seguente esempio di codice mostra come sostituire il testo specificato con HTML:
Il seguente esempio di codice mostra come evidenziare numeri positivi con colore verde e numeri negativi con colore rosso:
Il seguente esempio di codice mostra come anteporre un numero di riga a ciascuna riga: