Есть ли способ поиска шаблона в документе MS Word?
Есть ли способ поиска шаблонов внутри документа MS Word вместо точного соответствия?
У меня есть документ, где все десятичные дроби были записаны как / вместо ., Например, 1.02 был написан как 1/02, потому что персидская типография использует / вместо . для десятичной точки.
Как / используется не только для десятичных чисел, но и для других приложений, например, дроби, проценты и т. д., есть ли способ найти шаблон, например N/M в текстовом документе, где N обозначает десятичную и M также показывает другое десятичное число?
2 ответа
как 'N/M' в текстовом документе, где N обозначает десятичное число, а M также показывает другое десятичное число
Просто для поиска вы можете использовать ^#/^# как ваш параметр поиска. Под дополнительными опциями и найдите Special, есть некоторые другие опции, которые могут быть полезны.
Nb: ^#, является одним десятичным знаком, так что если вы ищете специально для х / у, то это будет ^#/^#^# и т.п.
заменить,
Это лучший вариант, выполните поиск с ([0-9])/([0-9]) и заменить на \1.\2 и включите "использовать подстановочные знаки"
слово
Используйте реализацию Microsoft регулярных выражений
Нажмите CTRL+H ", нажмите" Подробнее "," Включить использование подстановочных знаков ".
- Найти то, что:
([0-9]{1,2})/([0-9]{2}) - Заменить:
\1.\2


Это похоже на сумасшедший шаблон поиска, поэтому давайте рассмотрим его:
[0-9]обозначает одно числовое значение (0,1,2,3,4,5,6,7,8 и 9){1,2}используется для подсчета вхождений предыдущего символа или выражения. В нашем случае это означает: Искать только одну или две цифры.Внимание: если вы используете немецкое слово, вы должны использовать
;в качестве разделителя вместо,/не имеет особого значения. Он буквально ищет косую черту()круглые скобки важны. Они делят шаблон на логические последовательности, чтобы мы могли позже использовать\1,\2...\nв нашем шаблоне замены. Таким образом, мы сохраняем ценности
Подробнее читайте в разделе "Выражения по частям" в статье поддержки Microsoft или на сайте Word Грэма Майора.
VBA (лучшее решение)
Я предлагаю вам использовать метод VBA, который больше соответствует стандартным настройкам других движков RegEx. Они лучше задокументированы, и больше людей могут вам помочь.
Этот макрос запрашивает шаблон RegEx для поиска во всем документе и замены его на заданную вами строку.
Нажмите ALT+F11, чтобы открыть редактор VBA. Вставьте код в любое место и выполните его с помощью F5
Sub RegexReplace()
Dim RegEx As Object
Set RegEx = CreateObject("VBScript.RegExp")
On Error Resume Next
RegEx.Global = True
RegEx.Pattern = InputBox("Find what:")
ActiveDocument.Range = _
RegEx.Replace(ActiveDocument.Range, InputBox("Replace with:"))
End Sub
- Найти то, что:
(?!\d)/(?=\d) - Заменить:
.

