Форум программистов, компьютерный форум, киберфорум
VistaSV30
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Поиск и замена текста в Word

Запись от VistaSV30 размещена 20.08.2021 в 08:08
Показов 3660 Комментарии 2

Расширенные возможности поиска и замены (регулярные выражения Word)

MS Word позволяет выполнять замену символов очень эффективно, например, если нужно поменять точку расположенную между двумя цифрами на запятую, при этом цифры изменять не надо. Для выполнения этого действия необходимо ввести в поля поиска и замены следующие комбинации символов.

Нажмите на изображение для увеличения
Название: Replace.png
Просмотров: 646
Размер:	18.6 Кб
ID:	7088

Другие способы поиска и замены:

Для поиска «висячих предлогов» в тексте можно воспользоваться следующими шаблонами поиска и замены:
([ ^s])([а-яА-Яa-zA-Z]{1;2}) ([а-яА-Яa-zA-Z])
\1^s\2

Заменить простые пробелы между разрядами чисел на неразрывные
([0-9]{1;}) ([0-9]{3})
\1^s\2

Проставить точки после номера рисунка:
[Р,р]ис.*[0-9]>
^&.

Убрать пробелы между точкой и переходом на следующую строку:
(.) (^13)
\1\2

Убрать пробел после открывающей скобки:
\(
(

Убрать пробелы между словом и точкой
([а-я]) @(.)
\1\2

Добавить пробел между точкой и следующим предложением
([а-я].@)([А-Я])
\1 \2

Убрать пробелы между словом и запятой
([а-я]) @(,)
\1\2

Вставить дополнительный пробел между любым символом и символом решетки (#), здесь ^32 - код пробела
([!^32])([^32]#)
\1 #

Есть более подробная статья на эту тему
https://nikipolskiy.ucoz.ru/bo... s-word.pdf

А можно еще увеличить эффективность, если дополнительно воспользоваться VBA.
Пример кода, заменяющего простые пробелы после предлогов на неразрывные, чтобы в тексте не было висячих предлогов
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub ВисячиеПредлоги()
 
    Selection.Find.MatchWildcards = True
    Dim i As Integer
    Dim Prepositions() As Variant
    Prepositions = Array("без", "безо", "близ", "в", "во", "вместо", "вне", "для", "до", "за", "из", "изо", "из-за", "из-под", "к", "ко", "кроме", "между", "меж", "на", "над", "о", "об", "обо", "от", "ото", "перед", "передо", "пред", "пред", "пo", "под", "подо", "при", "про", "ради", "с", "со", "сквозь", "среди", "у", "через", "чрез")
 
    For i = 0 To UBound(Prepositions)
    
        With ActiveDocument.Range.Find
            .ClearFormatting
            .Replacement.ClearFormatting
            .Text = " " & Prepositions(i) & " "
            .Replacement.Text = " " & Prepositions(i) & "^s"
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchAllWordForms = False
            .MatchSoundsLike = False
            .MatchWildcards = True
        End With    
    Next i
End Sub
Недостатки:
- пробелы заменяются по всему тексту, а надо в конце строки;
- учитывается регистр символов.
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 2
Комментарии
  1. Старый комментарий
    Аватар для Avazart
    MS Word поддерживает регулярки?
    Запись от Avazart размещена 20.08.2021 в 15:43 Avazart вне форума
  2. Старый комментарий
    Аватар для VistaSV30
    Да, поддерживает. Нужно только поставить галочку "Подстановочные знаки", как показано на рисунке
    Запись от VistaSV30 размещена 20.08.2021 в 16:33 VistaSV30 вне форума
 
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru