Есть ли способ поиска шаблона в документе 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)
- Заменить:
.