Suchen und Ersetzen

Mit Tastatur und Maus können Sie problemlos in Ihrem Dokument navigieren. Wenn Sie jedoch durch viele Seiten scrollen müssen, dauert es eine ganze Weile, bis Sie in einem langen Dokument einen bestimmten Text finden. Es wird zeitaufwändiger sein, wenn Sie bestimmte Zeichen oder Wörter ersetzen möchten, die Sie in Ihrem Dokument verwendet haben. Mit der Funktion “Suchen und Ersetzen” können Sie eine Zeichenfolge in einem Dokument finden und durch eine andere Zeichenfolge ersetzen.

Mit Aspose.Words können Sie eine bestimmte Zeichenfolge oder ein Muster eines regulären Ausdrucks in Ihrem Dokument finden und durch eine Alternative ersetzen, ohne zusätzliche Anwendungen wie Microsoft Word installieren und verwenden zu müssen. Dadurch werden viele Tipp- und Formatierungsaufgaben beschleunigt, was Ihnen möglicherweise stundenlange Arbeit erspart.

In diesem Artikel wird erläutert, wie Sie String-Ersetzung und reguläre Ausdrücke mit Unterstützung von Metazeichen anwenden.

Möglichkeiten, {#ways-to-find-and-replace} zu finden und zu ersetzen

Aspose.Words bietet zwei Möglichkeiten, den Such- und Ersetzungsvorgang anzuwenden, indem es Folgendes verwendet:

  1. Einfache Zeichenfolgenersetzung – um eine bestimmte Zeichenfolge zu finden und durch eine andere zu ersetzen, müssen Sie eine Suchzeichenfolge (alphanumerische Zeichen) angeben, die bei jedem Vorkommen durch eine andere angegebene Ersatzzeichenfolge ersetzt wird. Beide Zeichenfolgen dürfen keine Symbole enthalten. Berücksichtigen Sie, dass beim Vergleich von Zeichenfolgen die Groß-/Kleinschreibung beachtet werden kann. Andernfalls sind Sie möglicherweise nicht sicher, was die Schreibweise angeht, oder Sie haben mehrere ähnliche Schreibweisen.
  2. Reguläre Ausdrücke – um einen regulären Ausdruck anzugeben, um die genauen Zeichenfolgenübereinstimmungen zu finden und sie entsprechend Ihrem regulären Ausdruck zu ersetzen. Beachten Sie, dass ein Wort nur aus alphanumerischen Zeichen besteht. Wenn beim Ersetzen nur ganze Wörter gefunden werden und die Eingabezeichenfolge zufällig Symbole enthält, werden keine Phrasen gefunden.

Darüber hinaus können Sie spezielle Metazeichen mit einfacher Zeichenfolgenersetzung und regulären Ausdrücken verwenden, um Pausen innerhalb des Such- und Ersetzungsvorgangs anzugeben.

Aspose.Words bietet die Such- und Ersetzungsfunktion mit dem aspose.words.replacing-Modul. Mithilfe der FindReplaceOptions-Klasse können Sie während des Such- und Ersetzungsprozesses mit vielen Optionen arbeiten.

Suchen und ersetzen Sie Text mit Simple String Replacement

Sie können eine der replace- und replace_regex-Methoden verwenden, um eine bestimmte Zeichenfolge zu suchen oder zu ersetzen und die Anzahl der vorgenommenen Ersetzungen zurückzugeben. In diesem Fall können Sie eine zu ersetzende Zeichenfolge angeben, eine Zeichenfolge, die alle Vorkommen ersetzt, ob bei der Ersetzung die Groß-/Kleinschreibung beachtet werden soll und ob nur eigenständige Wörter betroffen sein sollen.

Das folgende Codebeispiel zeigt, wie Sie die Zeichenfolge “CustomerName” finden und durch die Zeichenfolge “James Bond” ersetzen:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.writeln("Hello _CustomerName_,")
print("Original document text: " + doc.range.text)

doc.range.replace("_CustomerName_", "James Bond", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

print("Document text after replace: " + doc.range.text)

# Save the modified document
doc.save(docs_base.artifacts_dir + "FindAndReplace.simple_find_replace.docx")

Sie können den Unterschied zwischen dem Dokument erkennen, bevor Sie eine einfache Zeichenfolgenersetzung anwenden:

vor dem einfachen String-Ersatz

Und nach der einfachen String-Ersetzung:

nach dem einfachen String-Ersatz

Suchen und ersetzen Sie Text mit regulären Ausdrücken

Ein regulärer Ausdruck ist ein Muster, das eine bestimmte Textsequenz beschreibt. Angenommen, Sie möchten alle doppelten Vorkommen eines Wortes durch ein einziges Wort ersetzen. Anschließend können Sie den folgenden regulären Ausdruck anwenden, um das Doppelwortmuster anzugeben: ([a-zA-Z]+) \1.

Verwenden Sie die replace_regex-Methode, um bestimmte Zeichenkombinationen zu suchen und zu ersetzen, indem Sie den regulären Ausdrucksparameter als Muster für die Suche nach Übereinstimmungen festlegen.

Das folgende Codebeispiel zeigt, wie Zeichenfolgen, die einem regulären Ausdrucksmuster entsprechen, durch eine angegebene Ersetzungszeichenfolge ersetzt werden:

Sie können den Unterschied zwischen dem Dokument erkennen, bevor Sie die Zeichenfolgenersetzung durch reguläre Ausdrücke anwenden:

vor dem Ersetzen durch reguläre Ausdrücke

Und nach der String-Ersetzung durch reguläre Ausdrücke:

nach dem Ersetzen durch reguläre Ausdrücke

Suchen und ersetzen Sie Zeichenfolgen mithilfe von Metazeichen

Sie können Metazeichen in der Suchzeichenfolge oder der Ersetzungszeichenfolge verwenden, wenn ein bestimmter Text oder Satz aus mehreren Absätzen, Abschnitten oder Seiten besteht. Zu den Metazeichen gehören &P für einen Absatzumbruch, &B für einen Abschnittsumbruch, &M für einen Seitenumbruch und &l für einen Zeilenumbruch.

Das folgende Codebeispiel zeigt, wie Text durch Absatz und Seitenumbruch ersetzt wird:

Mithilfe der HeaderFooter-Klasse können Sie Text im Kopf-/Fußzeilenbereich eines Word-Dokuments suchen und ersetzen.

Das folgende Codebeispiel zeigt, wie Sie den Text des Kopfzeilenabschnitts in Ihrem Dokument ersetzen:

Sie können den Unterschied zwischen dem Dokument erkennen, bevor Sie die Ersetzung der Header-Zeichenfolge anwenden:

vor dem Anwenden des Header-String-Ersatzes

Und nach der Anwendung der Header-String-Ersetzung:

Nach dem Anwenden des Header-String-Ersatzes

Das Codebeispiel zum Ersetzen des Texts des Fußzeilenabschnitts in Ihrem Dokument ist dem vorherigen Codebeispiel für die Kopfzeile sehr ähnlich. Sie müssen lediglich die folgenden beiden Zeilen ersetzen:

header = headersFooters.get_by_header_footer_type(aw.HeaderFooterType.HEADER_PRIMARY)
header.range.replace("Aspose.Words", "Remove", options)

Mit den folgenden:

header = headersFooters.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_PRIMARY)
header.range.replace("Aspose.Words", "Remove", options)

Sie können den Unterschied zwischen dem Dokument erkennen, bevor Sie die Ersetzung der Fußzeilenzeichenfolge anwenden:

vor dem Anwenden des Fußzeilen-String-Ersatzes

Und nach dem Ersetzen der Fußzeilenzeichenfolge:

Nach dem Anwenden des Ersetzens der Fußzeilenzeichenfolge

Text beim Suchen und Ersetzen von {#ignore-text-during-find-and-replace} ignorieren

Während Sie den Such- und Ersetzungsvorgang anwenden, können Sie bestimmte Textsegmente ignorieren. So können bestimmte Teile des Textes von der Suche ausgeschlossen werden und das Suchen und Ersetzen nur auf die übrigen Teile angewendet werden.

Aspose.Words bietet viele Such- und Ersetzungseigenschaften zum Ignorieren von Text wie ignore_deleted, ignore_fields und ignore_inserted.

Das folgende Codebeispiel zeigt, wie Text in Löschrevisionen ignoriert wird:

Passen Sie den Such- und Ersetzungsvorgang {#customize-find-and-replace-operation} an

Aspose.Words bietet viele verschiedene Eigenschaften zum Suchen und Ersetzen von Text, z. B. das Anwenden eines bestimmten Formats mit apply_font- und apply_paragraph_formats-Eigenschaften, die Verwendung von Ersetzungen in Ersetzungsmustern mit der use_substitutions-Eigenschaft und andere.

Das folgende Codebeispiel zeigt, wie Sie ein bestimmtes Wort in Ihrem Dokument hervorheben: