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 trochę czasu. Będzie to bardziej czasochłonne, gdy chcesz zastąpić określone znaki lub słowa użyte w dokumencie. Funkcja “Znajdź i zamień” umożliwia znalezienie sekwencji znaków w dokumencie i zastąpienie jej inną sekwencją znaków.

Aspose.Words umożliwia znalezienie określonego ciągu lub wzorca wyrażeń regularnych w dokumencie i zastąpienie go alternatywą bez instalowania i używania dodatkowych aplikacji, takich jak Microsoft Word. Przyspieszy to wiele zadań pisania i formatowania, potencjalnie oszczędzając godziny pracy.

W tym artykule wyjaśniono, jak stosować zastępowanie ciągów i wyrażenia regularne przy pomocy metaznaków.

Sposoby znajdowania i zastępowania

Aspose.Words udostępnia dwa sposoby zastosowania operacji znajdź i zamień za pomocą następujących:

  1. Simple string replacement - aby znaleźć i zastąpić określony ciąg innym, musisz określić ciąg wyszukiwania (znaki alfanumeryczne), który zostanie zastąpiony zgodnie ze wszystkimi wystąpieniami innym określonym ciągiem zastępczym. Oba ciągi nie mogą zawierać symboli. Weź pod uwagę, że porównanie ciągów może uwzględniać wielkość liter lub możesz nie mieć pewności co do pisowni lub mieć kilka podobnych pisowni.
  2. Regular expressions - aby określić Wyrażenie regularne, aby znaleźć dokładne dopasowania ciągów i zastąpić je zgodnie z wyrażeniem regularnym. Zauważ, że słowo jest zdefiniowane jako składające się tylko ze znaków alfanumerycznych. Jeśli zamiana jest wykonywana z dopasowaniem tylko całych słów, a ciąg wejściowy zawiera symbole, nie zostaną znalezione żadne frazy.

Ponadto możesz użyć specjalnych metaznaków z prostym zastępowaniem ciągów i wyrażeniami regularnymi, aby określić podziały w operacji znajdź i zamień.

Aspose.Words przedstawia funkcję Znajdź i zamień na Aspose.Words.Replacing przestrzeń nazw. Możesz pracować z wieloma opcjami podczas procesu znajdź i zamień przy użyciu klasy FindReplaceOptions.

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

Możesz użyć jednej z metod Replace, aby znaleźć lub zastąpić określony ciąg i zwrócić liczbę wykonanych zamienników. W takim przypadku można określić ciąg, który ma zostać zastąpiony, ciąg, który zastąpi wszystkie jego wystąpienia, czy w zastępstwie rozróżniana jest wielkość liter i czy wpłynie to tylko na samodzielne 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 wymiany ciągu:

before-simple-string-replacement-aspose-words-cpp

I po zastosowaniu prostej wymiany Sznurka:

after-simple-string-replacement-aspose-words-cpp

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 jednym wystąpieniem słowa. Następnie możesz zastosować następujące wyrażenie regularne, aby określić wzór podwójnego słowa: ([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, aby znaleźć dopasowania.

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

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

before-replacement-with-regular-expressions-aspose-words-cpp

I po zastosowaniu zamiany ciągu NA wyrażenia regularne:

after-replacement-with-regular-expressions-aspose-words-cpp

Znajdź i zamień ciąg za pomocą metaznaków

Możesz użyć metaznaków w ciągu wyszukiwania lub ciągu zastępczego, jeśli określony tekst lub fraza składa się z wielu akapitów, sekcji lub stron. 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 zastąpić tekst w sekcji Nagłówek/Stopka dokumentu Word przy użyciu 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:

before-applying-header-string-replacement-aspose-words-cpp

I po zastosowaniu wymiany ciągu nagłówka:

after-applying-header-string-replacement-aspose-words-cpp

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

auto header = headersFooters->idx_get(HeaderFooterType::HeaderPrimary);
header->get_Range()->Replace(u"Aspose.Words", u"Remove", options);

Z następującymi:

auto footer = headersFooters->idx_get(HeaderFooterType::FooterPrimary);
footer->get_Range()->Replace(u"(C) 2006 Aspose Pty Ltd.", u"Copyright (C) Aspose Pty Ltd.", options);

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

before-applying-footer-string-replacement-aspose-words-cpp

I po zastosowaniu stopki ciąg wymiana:

after-applying-footer-string-replacement-aspose-words-cpp

Ignoruj tekst podczas wyszukiwania i zamiany

Podczas stosowania operacji znajdź i zamień możesz zignorować niektóre segmenty tekstu. Tak więc niektóre części tekstu można wykluczyć z wyszukiwania, A wyszukiwanie i zastępowanie można zastosować tylko do pozostałych części.

Aspose.Words zapewnia wiele właściwości znajdź i zamień dla ignorowania tekstu, takich jak IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, i IgnoreInserted.

Poniższy przykład kodu pokazuje, jak ignorować tekst wewnątrz delete revisions:

Dostosuj operację znajdź i zamień

Aspose.Words zapewnia wiele różnych properties do znajdowania i zastępowania tekstu, takich jak stosowanie określonego formatu za pomocą właściwości ApplyFont i ApplyParagraphFormats, używanie podstawień we wzorcach zastępowania za pomocą właściwości UseSubstitutions i innych.

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 zastąpienia. Możesz mieć pewne przypadki użycia, w których musisz dostosować operację znajdź i zamień, takie jak zastąpienie tekstu określonego wyrażeniem regularnym znacznikami HTML, więc zasadniczo zastosujesz zamień na wstawienie HTML.

Jeśli chcesz zastąpić ciąg tagiem HTML, Zastosuj interfejs IReplacingCallback, aby dostosować operację znajdź i Zamień, aby dopasowanie rozpoczynało się na początku uruchomienia z węzłem dopasuj dokumentu. Podajmy kilka przykładów użycia IReplacingCallback.

Poniższy przykład kodu pokazuje, jak zastąpić określony tekst 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 wiersza do każdego wiersza: