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:
- 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 przy każdym wystąpieniu innym określonym ciągiem zastępczym. 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.
- 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 przestrzeni nazw 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ą prostej zamiany ciągów
Możesz użyć jednej z metod Replace, 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”:
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:
Znajdź i zamień tekst za pomocą wyrażeń regularnych
Wyrażenie regularne (regex) 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 innej metody Replace, aby wyszukać i zastąpić określone kombinacje znaków, ustawiając parametr Regex
jako wzorzec wyrażenia regularnego w celu znalezienia 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:
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:
Znajdź i zamień ciąg w nagłówku/stopce dokumentu
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:
HeaderFooter header = headersFooters[HeaderFooterType.HeaderPrimary];
header.Range.Replace("Aspose.Words", "Remove", options);
Z następującymi:
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
int currentYear = System.DateTime.Now.Year;
footer.Range.Replace("(C) 2006 Aspose Pty Ltd.", $"Copyright (C) {currentYear} by Aspose Pty Ltd.", options);
Możesz zauważyć różnicę między dokumentem przed zastosowaniem zamiany ciągu stopki:
A po zastosowaniu zamiany ciągu stopki:
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 IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes i IgnoreInserted.
Poniższy przykład kodu pokazuje, jak zignorować tekst w usuwanych wersjach:
Dostosuj operację Znajdź i zamień
Aspose.Words udostępnia wiele różnych formatów properties do wyszukiwania i zastępowania tekstu, takich jak stosowanie określonego formatu z właściwościami ApplyFont i ApplyParagraphFormats, używanie podstawień we wzorcach zastępowania właściwością UseSubstitutions i inne.
Poniższy przykład kodu pokazuje, jak wyróżnić określone słowo w dokumencie:
Aspose.Words umożliwia użycie interfejsu IReplacingCallback do tworzenia i wywoływania metody niestandardowej podczas operacji zamiany. Możesz mieć pewne przypadki użycia, w których będziesz musiał dostosować operację znajdowania i zamiany, na przykład zastąpienie tekstu określonego wyrażeniem regularnym znacznikami HTML, więc zasadniczo zastosujesz zamianę, wstawiając kod HTML.
Jeśli chcesz zamienić ciąg znaków na znacznik HTML, zastosuj interfejs IReplacingCallback, aby dostosować operację znajdowania i zamiany tak, aby dopasowanie rozpoczynało się na początku przebiegu z węzłem dopasowania w dokumencie. Podajmy kilka przykładów użycia IReplacingCallback.
Poniższy przykład kodu pokazuje, jak zastąpić tekst określony kodem HTML:
Poniższy przykład kodu pokazuje, jak wyróżnić liczby dodatnie kolorem zielonym i liczby ujemne kolorem czerwonym:
Poniższy przykład kodu pokazuje, jak dodać numer linii do każdej linii: