Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
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.
Aspose.Words udostępnia dwa sposoby stosowania operacji znajdowania i zamieniania, korzystając z następujących metod:
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.
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:
A po zastosowaniu prostej zamiany ciągów:
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:
A po zastosowaniu zamiany ciągów na wyrażenia regularne:
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:
A po zastosowaniu zamiany ciągu nagłówka:
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:
A po zastosowaniu zamiany ciągu stopki:
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:
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:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.