Znajdź i zamień

Możesz łatwo poruszać się po dokumencie za pomocą klawiatury i myszy, ale jeśli masz wiele stron do przewinięcia, znalezienie określonego tekstu w długim dokumencie zajmie sporo czasu. Zastąpienie niektórych znaków lub słów użytych w dokumencie będzie bardziej czasochłonne. Funkcjonalność “Znajdź i zamień” umożliwia odnalezienie ciągu znaków w dokumencie i zastąpienie go innym ciągiem znaków.

Aspose.Words umożliwia znalezienie określonego ciągu znaków lub wzorca wyrażenia regularnego w dokumencie i zastąpienie go alternatywą bez instalowania i używania dodatkowych aplikacji, takich jak Microsoft Word. Przyspieszy to wiele zadań związanych z pisaniem i formatowaniem, potencjalnie oszczędzając godziny pracy.

W tym artykule wyjaśniono, jak zastosować zamianę ciągów i wyrażenia regularne z obsługą metaznaków.

Sposoby znajdowania i zamiany

Aspose.Words udostępnia dwa sposoby stosowania operacji znajdowania i zamieniania, korzystając z następujących metod:

  1. Prosta zamiana ciągu – aby znaleźć i zamienić konkretny ciąg na inny, należy podać szukany ciąg (znaki alfanumeryczne), który będzie zastępowany każdorazowo wystąpieniem innego określonego ciągu zastępczego. Oba ciągi nie mogą zawierać symboli. Weź pod uwagę, że przy porównywaniu ciągów może uwzględniać wielkość liter lub możesz nie być pewien pisowni lub mieć kilka podobnych pisowni.
  2. Wyrażenia regularne – aby określić wyrażenie regularne, aby znaleźć dokładnie pasujące ciągi znaków i zastąpić je zgodnie z wyrażeniem regularnym. Należy pamiętać, że słowo definiuje się jako składające się wyłącznie ze znaków alfanumerycznych. Jeśli zamiana zostanie wykonana z dopasowaniem tylko całych słów, a ciąg wejściowy będzie zawierał symbole, wówczas nie zostaną znalezione żadne frazy.

Ponadto można używać specjalnych metaznaków przy prostej zamianie ciągów znaków i wyrażeń regularnych w celu określenia przerw w operacji znajdowania i zamiany.

Aspose.Words przedstawia funkcję wyszukiwania i zamiany w module aspose.words.replacing. Podczas procesu znajdowania i zamieniania można pracować z wieloma opcjami, korzystając z klasy FindReplaceOptions.

Znajdź i zamień tekst za pomocą prostego zastępowania ciągów

Możesz użyć jednej z metod replace i replace_regex, aby znaleźć lub zamienić określony ciąg znaków i zwrócić liczbę dokonanych zamian. W takim przypadku możesz określić ciąg znaków, który ma zostać zastąpiony, ciąg, który zastąpi wszystkie jego wystąpienia, czy przy zamianie uwzględniana jest wielkość liter i czy wpłynie to tylko na pojedyncze słowa.

Poniższy przykład kodu pokazuje, jak znaleźć ciąg “CustomerName” i zastąpić go ciągiem “James Bond”:

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")

Możesz zauważyć różnicę między dokumentem przed zastosowaniem prostej zamiany ciągu znaków:

przed wyjściem wymianą ciągu

A po zastosowaniu prostej zamiany ciągów:

po pozostawieniu w domu

Znajdź i zamień tekst za pomocą wyrażeń regularnych

Wyrażenie regularne to wzorzec opisujący określoną sekwencję tekstu. Załóżmy, że chcesz zastąpić wszystkie podwójne wystąpienia słowa pojedynczym wystąpieniem słowa. Następnie możesz zastosować następujące wyrażenie regularne, aby określić wzorzec podwójnych słów: ([a-zA-Z]+) \1.

Użyj metody replace_regex, aby wyszukać i zastąpić określone kombinacje znaków, ustawiając parametr wyrażenia regularnego jako wzorzec do wyszukiwania dopasowań.

Poniższy przykład kodu pokazuje, jak zastąpić ciągi pasujące do wzorca wyrażenia regularnego określonym ciągiem zastępczym:

Różnicę pomiędzy dokumentem można zauważyć przed zastosowaniem zamiany ciągów na wyrażenia regularne:

przed-zamianą-wyrażeń-regularnych

A po zastosowaniu zamiany ciągów na wyrażenia regularne:

po zamianie na odpowiedni

Znajdź i zamień ciąg przy użyciu metaznaków

Jeśli dany tekst lub fraza składa się z wielu akapitów, sekcji lub stron, możesz użyć metaznaków w ciągu wyszukiwania lub ciągu zastępczym. Niektóre metaznaki obejmują &P dla podziału akapitu, &B dla podziału sekcji, &M dla podziału strony i &l dla podziału wiersza.

Poniższy przykład kodu pokazuje, jak zastąpić tekst akapitem i podziałem strony:

Możesz znaleźć i zamienić tekst w sekcji nagłówka/stopki dokumentu Word, korzystając z klasy HeaderFooter.

Poniższy przykład kodu pokazuje, jak zastąpić tekst sekcji nagłówka w dokumencie:

Możesz zauważyć różnicę między dokumentem przed zastosowaniem zamiany ciągu nagłówka:

przed zmianą ciągu nagłówka

A po zastosowaniu zamiany ciągu nagłówka:

po zastosowaniu ciągłego nagłówka po zastosowaniu

Przykładowy kod zastępujący tekst sekcji stopki w dokumencie jest bardzo podobny do poprzedniego przykładowego kodu nagłówka. Wszystko, co musisz zrobić, to zastąpić następujące dwie linie:

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

Z następującymi:

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

Możesz zauważyć różnicę między dokumentem przed zastosowaniem zamiany ciągu stopki:

przed wymianą-stringu-stopki

A po zastosowaniu zamiany ciągu stopki:

wymień ciąg stopki po zastosowaniu

Ignoruj tekst podczas wyszukiwania i zamiany

Stosując operację znajdź i zamień, możesz zignorować niektóre segmenty tekstu. Zatem niektóre części tekstu można wykluczyć z wyszukiwania, a funkcję Znajdź i Zamień można zastosować tylko do pozostałych części.

Aspose.Words udostępnia wiele właściwości wyszukiwania i zamiany umożliwiających ignorowanie tekstu, takich jak ignore_deleted, ignore_fields i ignore_inserted.

Poniższy przykład kodu pokazuje, jak zignorować tekst w usuwanych wersjach:

Dostosuj operację Znajdź i zamień

Aspose.Words udostępnia wiele różnych właściwości do wyszukiwania i zamiany tekstu, takich jak stosowanie określonego formatu za pomocą właściwości apply_font i apply_paragraph_formats, używanie podstawień we wzorcach zastępowania za pomocą właściwości use_substitutions i inne.

Poniższy przykład kodu pokazuje, jak wyróżnić określone słowo w dokumencie: