Word 2010: заменим точки запятыми
Приветствую всех сотрудников «Б & K»! Помогите мне решить такую проблему. Есть документ, набранный в программе Word. В тексте документа все числа напечатаны с разделителем «,» (запятая). Можно ли этот разделитель заменить на «.» (точку)? Разумеется, что замену нужно сделать только в числах. Запятые в самом тексте нужно оставить, как они есть. Заранее благодарю.
Сергей Фурунджиев, главный бухгалтер, г. Харьков
Отвечает Николай КАРПЕНКО, канд. техн. наук, доцент кафедры прикладной математики и информационных технологий Харьковской национальной академии городского хозяйства
Для решения вашей задачи нужно воспользоваться инструментом «Найти и заменить» программы MS Word. Но есть одна тонкость: при замене нужно работать не в обычном режиме, а использовать так называемые подстановочные знаки. Для этого в окне настройки параметров поиска есть специальный флажок, который так и называется «Подстановочные знаки» (рисунок).
Если включить этот флажок, Word организует поиск в тексте не по точному совпадению, а по некоторому шаблону. Например, звездочка в тексте шаблона заменяет собой произвольную строку символов. Если при поиске в строке «Найти» указать «Б*К» и включить параметр «Подстановочные знаки», в результат поиска попадут слова «Б&К», «Б+К», «Б-К» и т. п.
Для создания шаблона в программе Word применяют специальные символы. Наиболее распространенные из них представлены в таблице.
Символы подстановочных знаков в шаблонах Word
Символ в шаблоне | Что означает | Пример |
1 | 2 | 3 |
? | Любой знак | Например, шаблону «б?р» удовлетворяют слова «бар», «бур», «бор» и т. д. |
* | Любая последовательность символов | Например, под шаблон «б*р» попадут вышеуказанные слова, а также «бухгалтер», «барометр» и пр. |
< | Начало слова | Шаблон «<бух» отыщет слова «бухгалтер», «бухгалтерский», зато слово «главбух» в результат поиска не попадет |
> | Конец слова | Шаблон «бух>» отыщет слова «главбух», «гроссбух» |
[ ] | Заменяет один из указанных знаков | По шаблону «у[пкз]ор» будут найдены слова «укор», «узор», «упор» и т. д. |
[-] | Заменяет любой знак из указанного диапазона | Шаблон «[б-н]оль» отберет слова «боль», «моль», «ноль» и т. п. Символы в диапазоне нужно ставить по возрастанию. Запись «[б-н]оль» НЕПРАВИЛЬНАЯ |
[!x-z] | Заменяет любой знак, кроме указанных в диапазоне | Шаблону «[!б-н]оль» удовлетворяют слова «соль», «роль» и не удовлетворяют «боль», «моль», «ноль» |
{n,m} | От n до m раз повторенный предыдущий знак или выражение | Например, если ввести «10{1,3}», то будут найдены «10», «100» и «1000» |
@ | Заменяет одно или несколько повторений предыдущего символа | Шаблон «в@ести» найдет в тексте слова «вести» и «ввести» |
Кроме того, подстановочные знаки в шаблоне можно группировать. Для этого нужно использовать круглые скобки. Например, шаблон «(за)*(ка)» найдет в тексте слова «замазка», «закваска» и «завивка».
Важно! Чтобы найти в тексте символ, являющийся одним из подстановочных знаков, в шаблоне нужно поставить перед ним обратную косую черту («\»). Например, комбинация «\?» находит в тексте символ «?» (вопросительный знак).
Ну а теперь, когда с теорией вопроса все ясно, пора приступить к решению нашей задачи. Итак, мы хотим в документе Word найти числа и заменить в них разделитель «,» (запятая) на «.» (точка). Делаем так.
1. Отрываем документ, нажимаем комбинацию «Ctrl+H». Откроется окно «Найти и заменить», изображенное на рисунке.
2. В поле «Найти:» вводим выражение «([0-9]{1;}),» (рисунок).
3. В поле «Заменить на:» печатаем текст «\1.».
4. Нажимаем кнопку «Больше».
5. Включаем флажок «Подстановочные знаки».
6. В окне «Найти и заменить» нажимаем кнопку «Заменить все».
Пару слов о работе шаблона. Выражение в поле «Найти:» ограничивает область текста, в пределах которой Word будет делать замены. Фрагмент «[0-9]» в этом выражении означает, что поиск Word будет просматривать только символы от «0» до «9». Иными словами: все числа в документе. Знак «,» в конце выражения – это искомый символ (запятая). Фрагмент выражения «{1;}» указывает, что Word должен найти не менее одного символа «,» в пределах числа. Переходим к полю «Заменить на:». Здесь стоит выражение «\1.». В нем обратная косая черта («\») в сочетании с числами играет роль заполнителя. В нашем примере такая запись означает: взять первый фрагмент из числа (начиная с крайнего левого символа и до десятичного разделителя), затем поставить символ «точка». Десятичная часть числа при этом останется без изменений.
Тем же способом можно выполнить и обратную замену. Чтобы заменить в числах разделитель «.» на символ «,», можно воспользоваться такими выражениями: для поля «Найти:» указать «([0-9]{1;}).», в поле «Заменить на:» ввести «\1,». Но есть одна особенность. При использовании указанных выражений будут неправильно обработаны числа, которые находятся в конце предложения. В этом случае символ «.» (конец предложения) будет стоять сразу за числом. Поэтому Word воспримет его как разделитель. Чтобы исправить ситуацию, я предлагаю немного усложнить шаблон для поиска изменения, а именно: в поле «Найти:» указать выражение «([0-9]{1;}).([0-9]{1;})», а в поле «Заменить на:» написать выражение «\1,\2».
Постановочные знаки – один из самых мощных и доступных инструментов для автоматической корректировки документа. С их помощью, например, можно поменять местами фамилии и инициалы, или исправить нумерацию рисунков. Кстати, это вполне реальный пример. Буквально месяц назад мне понадобилось заменить нумерацию рисунков, поставив в номере вместо точки дефис. То есть текст «рис. 1.2» нужно было заменить на «рис. 1-2» и так по всем номерам в тексте. А текст этот был порядка 250 страниц. Комбинация подстановочных знаков «(рис. [0-9]{1;}).([0-9]{1;})» (для поля «Найти:») и «\1^~\2» (для поля «Заменить на:») решила проблему в считанные секунды. На сегодня все.
Успешной работы! Жду ваших писем, предложений и замечаний на bk@id.factor.ua , nictomkar@rambler.ru или на форуме редакции.