In questo articolo, illustrerò come trovare e sostituire il testo nei documenti Word (DOC/DOCX) a livello di codice utilizzando Java. La guida passo passo e gli esempi di codice tratteranno vari scenari di ricerca e sostituzione del testo nei documenti di Word.

Trova e sostituisci il testo nei documenti di Word

MS Word fornisce un modo semplice per trovare e sostituire il testo nei documenti. Uno dei casi d’uso più diffusi per trovare e sostituire il testo potrebbe essere la rimozione o la sostituzione di informazioni sensibili all’interno dei documenti prima che vengano condivise tra varie entità. Tuttavia, il processo manuale potrebbe richiedere l’installazione di MS Word e l’aggiornamento di ogni documento separatamente. In tali situazioni, sarebbe utile e fa risparmiare tempo soprattutto quando hai integrato le funzionalità di ricerca e sostituzione all’interno del tuo desktop o dell’applicazione web. Quindi iniziamo e vediamo come trovare e sostituire il testo nei documenti di Word utilizzando Java in vari scenari.

API Java per trovare e sostituire il testo nei documenti di Word

Per implementare la funzione trova e sostituisci, utilizzeremo Aspose.Words for Java che è un’API di elaborazione testi per piattaforma Java potente, ricca di funzionalità e facile da usare. Puoi scaricare il suo JAR o installarlo all’interno della tua applicazione basata su Maven utilizzando le seguenti configurazioni.

Archivio:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dipendenza:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.5</version>
    <classifier>jdk17</classifier>
</dependency>

Trova e sostituisci testo in documenti Word (DOC/DOCX) utilizzando Java

Iniziamo affrontando un semplice scenario trova e sostituisci in cui troveremo la parola “Triste” all’interno del documento Word di input. Di seguito sono riportati i passaggi per eseguire questa operazione.

L’esempio di codice seguente mostra come trovare e sostituire il testo nei documenti Word DOCX utilizzando Java.

// Carica un documento Word DOCX
Document doc = new Document("document.docx");
// Trova e sostituisci il testo nel documento
doc.getRange().replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.FORWARD));
// Salva il documento di Word
doc.save("Find-And-Replace-Text.docx");

Di seguito è riportato il documento Word di input che abbiamo utilizzato in questo articolo.

trova e sostituisci il testo in DOCX usando Java

Quello che segue è l’output dopo aver trovato e sostituito la parola “triste”.

trova e sostituisci una parola

Trova e sostituisci parole simili in Word DOC/DOCX utilizzando Java

Puoi anche personalizzare l’API per trovare e sostituire il testo in base alla somiglianza. Ad esempio, le parole “triste”, “matto” e “cattivo” seguono uno schema simile che termina con “annuncio”. Gli ID e-mail sono un altro esempio di tale testo. In questi casi, puoi definire un modello regolare per trovare e sostituire tutte le occorrenze di testo con un modello particolare. Di seguito sono riportati i passaggi per raggiungere questo obiettivo.

L’esempio di codice seguente mostra come trovare e sostituire parole simili in base a un modello particolare utilizzando Java.

// Carica un documento Word DOCX
Document doc = new Document("document.docx");
// Trova e sostituisci parole simili nel documento
FindReplaceOptions options = new FindReplaceOptions();
doc.getRange().replace(Pattern.compile("[B|S|M]ad"), "[replaced]", options);
// Salva il documento di Word
doc.save("Find-And-Replace-Text.docx");

Quello che segue è lo screenshot del documento di Word dopo aver aggiornato parole simili.

trova e sostituisci parole simili usando Java

Aspose.Words consente inoltre di trovare e sostituire il testo solo nell’intestazione/piè di pagina del documento di Word. Di seguito sono riportati i passaggi per eseguire questa operazione.

L’esempio di codice seguente mostra come trovare e sostituire il testo nell’intestazione/piè di pagina del documento di Word utilizzando Java.

// Carica un documento Word DOCX
Document doc = new Document("document.docx");
// Accedi alla raccolta del piè di pagina dell'intestazione
HeaderFooterCollection headersFooters = doc.getFirstSection().getHeadersFooters();
HeaderFooter footer = headersFooters.get(HeaderFooterType.FOOTER_PRIMARY);
// Imposta le opzioni di ricerca e sostituzione
FindReplaceOptions options = new FindReplaceOptions();
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
footer.getRange().replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// Salva il documento di Word
doc.save("Find-And-Replace-Text.docx");

La schermata seguente mostra il testo aggiornato nel piè di pagina del documento di Word.

trova e sostituisci il testo nel piè di pagina

Trova e sostituisci testo con metacaratteri in Word DOCX utilizzando Java

Potrebbe verificarsi il caso in cui è necessario trovare e sostituire una frase divisa in più righe o paragrafi. In questi casi, dovrai occuparti del paragrafo, della sezione o delle interruzioni di riga. Aspose.Words per Java semplifica la gestione di questi casi abbastanza facilmente. Di seguito sono riportati i metacaratteri che puoi utilizzare per diverse interruzioni:

  • &p: interruzione di paragrafo
  • &b: interruzione di sezione
  • &m: interruzione di pagina
  • &l: interruzione di riga

Nell’esempio di codice seguente viene illustrato come trovare e sostituire il testo con un’interruzione di paragrafo in un documento di Word.

// Carica un documento Word DOCX
Document doc = new Document("document.docx");
// Imposta opzioni
FindReplaceOptions options = new FindReplaceOptions();
// Disabilita la corrispondenza tra maiuscole e minuscole e trova solo parole intere
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
// Sostituisci il testo con un'interruzione di paragrafo
doc.getRange().replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// Salva il documento di Word
doc.save("Find-And-Replace-Text.docx");

Quello che segue è lo screenshot del documento Word di output.

trova e sostituisci il testo con meta caratteri

Conclusione

In questo articolo, hai visto come trovare e sostituire il testo nei documenti Word DOC/DOCX a livello di codice utilizzando Java. Vari scenari di ricerca e sostituzione di testo nei file MS Word DOCX sono stati affrontati con l’aiuto di esempi di codice. Puoi saperne di più su Aspose.Words per Java dalla documentazione.

Guarda anche