Официальный сайт студ.городка НГТУ

Список блогов » - » Word и RegEx

25.05.08 12:58

drug_detei
Сообщений: 5338
Email Профиль Приват 

Word и RegEx

Значит, была такая задача. Есть такая гавяная запись, нечитаемая. ее необходимо превратить в таблицу Word по цифре на ячейку.

Код::

1010001010100
0101000001010
0010000000100
0001000000010
0000000000001



http://hostel.nstu.ru/uploaded/gallery/6761_1211692192.jpg



Решил я сэкономить время, потом решил написать это в блоге, поэтому в итоге времени потратил больше, че если бы тупо растаскивал их в ручную. Итак, тем, кто незнает что такое Регулярные выражения.

Вначале опишем задачу. Есть набор символов, надо из них сделать таблицу чтобы было наглядно-шоколадно. Для этого необходимо между ними поставить табы. Потом выделить их все и нажать кнопку Таблица на панели Word.



Итак, выделяем наш текст, идем Правка-Заменить, в форме жмем внизу кнопку Больше. Жмем крыжик Подстановочные знаки (Это так мелкософт выебнулся и назвал Регулярные выражения). И откроем вкладку "Специальный" (Почему Специальный а не СпециальныЕ например, хз).Теперь почти все готово! Осталось набрать собственно выражение.

Для этого необходимо взять "любой знак" и заменить его на собственно этот самый знак+"Знак табуляции". А как взять "этот самый знак"? Для этого в регексах есть понятие Группы, которое Мелкософт конечно назвал по-другому, а именно Выражение. Для того, чтобы его применить достаточно взять его в скобки, а в "Заменить" назвать \"его номер" начиная с еденицы. Например у нас есть три группы, () () (), соответственно называем их в Заменить как \1 \2 \3. Итак, в результате записываем в Найти (?), а в Заменить \1\t. Жмем, проверяем.  Получилось.

http://hostel.nstu.ru/uploaded/gallery/6761_1211692228.jpg


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

Итак, уберем Табы перед знаками, которые Мелкософт назвал Знаками абзаца. Для этого снимем крыжик и выберем в Специальных символах то, что хотим найти - собственно \t\p и заменим на знак абзаца \p.

Ну вот и все, выделяем наш текст и жмет кнопку Таблицы на Панели инструментов.



Offline

#104.10.09 08:19

Siz
Сообщений: 1461
Email Профиль Приват 

Все оказалось проще. Сохраняем цифирьки в любой текстовый формат и делаем в екселе импорт данных

Offline

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.584 сек.
Выполнено 14 запросов.