Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2015, 16:20   #1
BACKSEET
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 12
По умолчанию Регулярное выражение для обработки массива фамилий! Поможите люди добрыя :-)

Всем здравствуйте!
Есть такая проблема(проблема для меня большая- ибо фамилий просто вагон и маленькая тележка).

Суть в чем: есть массив ФИО. Этот массив надо обработать таким образом, чтобы сократить длину каждой строки - для того, чтобы потом эти фамилии в массовом порядке вписывать на конверты(это не для зарплаты :-) - это для рассылки новогодних открыток).

Выглядит массив так(каждая фамилия в новой строке):

Иванов Иван Иванович
Козлов Иван Иванович
Ослов Осел Ослович
Верблюдский Козел Иванович
...

ит.д.

Как должен выглядеть массив после обработки его регулярным выражением:

Иванов И.И.
Козлов И.И.
Ослов О.О.
Верблюдский К.И.


Повторюсь-фамилий просто вагоны...Вручную-совершенно нереально. Как сделать это?
Спасибо ОГРОМНОЕ заранее -за любой совет!

P.S. сам пытался писать регулярное выражение- не вышло ничерта...
BACKSEET вне форума Ответить с цитированием
Старый 19.12.2015, 16:32   #2
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

а
Абдула хасан ибн оглы омар халем
как должен выглядеть?
come-on вне форума Ответить с цитированием
Старый 19.12.2015, 16:33   #3
BACKSEET
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от come-on Посмотреть сообщение
а
Абдула хасан ибн оглы омар халем
как должен выглядеть?
таких нет. Есть только русские или русифицированные фамилии -такого вида, как я привел выше. То есть проблем не должно возникнуть.
BACKSEET вне форума Ответить с цитированием
Старый 19.12.2015, 17:10   #4
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

зачем тут регулятные? тут просто разложить по словам потом склеить
come-on вне форума Ответить с цитированием
Старый 19.12.2015, 22:06   #5
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Что и сделал Апострофф на соседнем форуме: https://www.cyberforum.ru/visual-bas...1311030.html#2

(Есть там и мой проект, но он очень громоздкий и непрактичный. Поискать?)
Sasha_Smirnov вне форума Ответить с цитированием
Старый 19.12.2015, 22:14   #6
BACKSEET
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
Что и сделал Апострофф на соседнем форуме: https://www.cyberforum.ru/visual-bas...1311030.html#2

(Есть там и мой проект, но он очень громоздкий и непрактичный. Поискать?)
Приветствую... я понял по паре предыдущих комментов кажется в чем разночтение у нас задачи...Дело в том, что я не еще не сильно программист -учусь только активно java. Я когда писал про свою задачу имел в виду-может кто подскажет стандартными средствами word-а без программирования, как сие сделать....
BACKSEET вне форума Ответить с цитированием
Старый 19.12.2015, 22:18   #7
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
имел в виду
а не надо ничего иметь, надо прямым текстом говорить, тут не передача про экстрасенсов, тут форум программерский.
come-on вне форума Ответить с цитированием
Старый 19.12.2015, 22:19   #8
BACKSEET
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от come-on Посмотреть сообщение
а не надо ничего иметь, надо прямым текстом говорить, тут не передача про экстрасенсов, тут форум программерский.
сорри большое стало быть
BACKSEET вне форума Ответить с цитированием
Старый 20.12.2015, 00:54   #9
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Птица-секретарь

Да ладно, BACKSEET, задача актульна на все времена (пока есть компьютерный набор).

Ещё в прошлом десятилетии Aent создал функцию для Excel: cyberforum.ru/vba/thread397280.html#12!

А мы тут применим обычную замену Word с подстановочными знаками (см. рисунки).

(Теоретически же лингвисты могут так: Вывод фамилии и инициалов (VBA).)

А вот без программирования: Массовая замена однотипных данных.

Тут внимание: следующие 2 строки — в окна диалога замены и отметить "Подстановочные знаки":

(<[А-Я][А-я]@>) @<([А-Я])[А-я]@> @<([А-Я])[А-я]@>
\1 \2. \3.

Про кнопку "Заменить все", думаю, объяснять пока не надо.
Изображения
Тип файла: jpg 2015-12-20_16-25_нашли.jpg (30.8 Кб, 134 просмотров)
Тип файла: jpg 2015-12-20_16-26_заменили.jpg (34.5 Кб, 126 просмотров)

Последний раз редактировалось Sasha_Smirnov; 20.12.2015 в 17:09. Причина: выражения.
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение для Notepad++ zima55 Софт 4 17.01.2015 14:45
Составить регулярное выражение для preg_match Даниил_глазко PHP 0 19.05.2013 09:21
Регулярное выражение для [строка1|строка2] aEN Общие вопросы Delphi 1 02.04.2013 23:53
Регулярное выражение для Яндекса,кодировка Tepper PHP 4 19.09.2012 12:50
регулярное выражение для создания массива aferistz PHP 1 28.03.2011 11:40