Найти и заменить

Вы можете легко перемещаться по документу с помощью клавиатуры и мыши, но если у вас есть много страниц для прокрутки, потребуется довольно много времени, чтобы найти конкретный текст в длинном документе. Это займет больше времени, если вы хотите заменить определенные символы или слова, которые вы использовали в своем документе. Функция “Найти и заменить” позволяет найти последовательность символов в документе и заменить ее другой последовательностью символов.

Aspose.Words позволяет найти конкретную строку или шаблон регулярного выражения в документе и заменить его альтернативой без установки и использования дополнительных приложений, таких как: Microsoft Word. Это ускорит многие задачи набора и форматирования, что потенциально сэкономит вам часы работы.

В этой статье объясняется, как применять замену строк и регулярные выражения с поддержкой метахарактеров.

Способы найти и заменить

Aspose.Words Обеспечивает два способа применения операции поиска и замены, используя следующее:

  1. Простая замена строки - чтобы найти и заменить конкретную строку другой, необходимо указать поисковую строку (альфа-цифровые символы), которая будет заменена в соответствии со всеми событиями другой указанной заменой строки. Обе строки не должны содержать символов. Учтите, что сравнение строк может быть чувствительным к случаю, или вы можете быть не уверены в правописании или иметь несколько подобных правописаний.
  2. *Регулярные выражения * - указать регулярное выражение, чтобы найти точные совпадения строк и заменить их в соответствии с вашим регулярным выражением. Обратите внимание, что слово определяется как состоящее только из буквенно-цифровых символов. Если замена выполняется только целыми словами и строка ввода содержит символы, то фразы не будут найдены.

Кроме того, вы можете использовать специальные метахарактеры с простой заменой строк и регулярными выражениями, чтобы указать перерывы в операции поиска и замены.

Aspose.Words Найти и заменить функциональность с помощью IReplacingCallBack. Вы можете работать со многими вариантами во время процесса поиска и замены. FindReplaceOptions класс.

Найти и заменить текст с помощью простой замены строки

Вы можете использовать один из Replace Способы поиска или замены конкретной строки и возврата количества произведенных замен. В этом случае вы можете указать строку, которая будет заменена, строку, которая заменит все ее случаи, является ли замена чувствительной к случаю, и будут ли затронуты только отдельные слова.

Следующий пример кода показывает, как найти строку “CustomerName” и заменить ее строкой * “James Bond”*:

Вы можете заметить разницу между документом перед применением простой замены строки:

before-simple-string-replacement-aspose-words-java

И после применения простой замены строки:

after-simple-string-replacement-aspose-words-java

Найти и заменить текст с помощью регулярных выражений

Регулярное выражение (регекс) - это шаблон, описывающий определенную последовательность текста. Допустим, вы хотите заменить все двойные случаи слова на одно слово. Затем вы можете применить следующее регулярное выражение, чтобы указать шаблон с двумя словами: ([a-zA-Z]+) \1.

Используйте другой Replace метод поиска и замены конкретных комбинаций символов путем установки Regex параметр как шаблон регулярного выражения для поиска совпадений.

Следующий пример кода показывает, как заменить строки, которые соответствуют обычному шаблону выражения, определенной строкой замены:

Вы можете заметить разницу между документом перед применением замены строки с регулярными выражениями:

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

А после нанесения замены строки регулярными выражениями:

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

Найти и заменить струны с помощью метахарактеров

Вы можете использовать метасимволы в строке поиска или строке замены, если конкретный текст или фраза состоит из нескольких абзацев, разделов или страниц. Некоторые метахарактеры включают &p для перерыва в абзаце, &b для перерыва в секции, &m Для перерыва страницы и &l Для перерыва.

Следующий пример кода показывает, как заменить текст абзацем и разрывом страницы:

Вы можете найти и заменить текст в разделе заголовка / футера документа Word, используя HeaderFooter класс.

Следующий пример кода показывает, как заменить текст раздела заголовка в вашем документе:

Вы можете заметить разницу между документом перед применением замены строки заголовка:

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

И после применения замены струны заголовка:

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

Пример кода для замены текста нижнего колонтитула в вашем документе очень похож на предыдущий пример кода заголовка. Все, что вам нужно сделать, это заменить следующие две строки:

HeaderFooter header = headersFooters.get(HeaderFooterType.HEADER_PRIMARY);
header.getRange().replace("Aspose.Words", "Remove", options);

Со следующим:

Вы можете заметить разницу между документом перед применением замены нижнего колонтитула:

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

И после применения замены нижнего колонтитула:

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

Игнорировать текст во время поиска и замены

Применяя операцию поиска и замены, можно игнорировать определенные сегменты текста. Так, некоторые части текста могут быть исключены из поиска, а найти и заменить можно только оставшиеся части.

Aspose.Words предоставляет множество свойств поиска и замены для игнорирования текста. IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, и IgnoreInserted.

Следующий пример кода показывает, как игнорировать текст внутри изменений удаления:

Настройка и замена операции

Aspose.Words Предоставляет множество различных properties находить и заменять текст, например, при использовании определенного формата; ApplyFont и ApplyParagraphFormats свойств, используя замещения в моделях замены UseSubstitutions собственности и других.

Следующий пример кода показывает, как выделить конкретное слово в вашем документе:

Aspose.Words позволяет вам использовать IReplacingCallback интерфейс для создания и вызова пользовательского метода во время операции замены. У вас могут быть некоторые случаи использования, когда вам нужно настроить операцию поиска и замены, например, заменить текст, указанный обычным выражением, тегами HTML, поэтому в основном вы будете применять замену с вставкой HTML.

Если вам нужно заменить строку тегом HTML, примените IReplacingCallback Интерфейс для настройки операции поиска и замены, чтобы матч начинался в начале выполнения с узлом соответствия вашего документа. Приведем несколько примеров использования IReplacingCallback.

Следующий пример кода показывает, как заменить текст, указанный в HTML:

Следующий пример кода показывает, как выделить положительные числа с зеленым цветом и отрицательные числа с красным цветом:

Следующий пример кода показывает, как прикрепить номер строки к каждой строке: