Помощь с GREP при замене фамилий и инициалов

  • Автор темы Автор темы Slider64rus
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Slider64rus

Участник
Топикстартер
Сообщения
2
Реакции
0
Работаю в InDesign CS6

Имеется данный текст

А. П. Слободюк, С. В. Стребков Причины отказов рабочего органа дискатора
С. А. Булавин, Ю. В. Саенко, А. Ю. Носуленко К определению оптимальных конструктивных и режимных параметров сушки пророщенного зерна на витаминный корм животным


Требуется привести данный текст к такому виду
Слободюк А. П., Стребков С. В. Причины отказов рабочего органа дискатора
Булавин С. А., Саенко Ю. В., Носуленко А. Ю. К определению оптимальных конструктивных и режимных параметров сушки пророщенного зерна на витаминный корм животным

Написал такой код:
ЧТО НАЙТИ:
(\u\.\s)(\u\.\s)(\u\w+)
НА ЧТО ЗАМЕНИТЬ: $3 $1 $2

Собственно вопрос: скрипт обрабатывает только первые фамилии в строчке, не могу сообразить в чем ошибка и что подправить. Подскажите?
 
Заменяет все фамилии.

Snap3.gif Snap4.gif Snap5.gif

И это не скрипт.
 
Кстати пробел после второго инициала не нужен, уберите его из второй группы за скобку
(\u\.\s)(\u\.)\s(\u\w+)
 
странно... в чем может причина - что у меня только первые фамилии обрабатывает.. (((
русская кривая версия?
 
В этом случае появляется лишний пробел. В замене нужно набрать $3 $1$2
 
  • Спасибо
Реакции: EvilOrange
ЧТО НАЙТИ: (\u\.\s)(\u\.\s)(\u\w+)


Собственно вопрос: скрипт обрабатывает только первые фамилии в строчке, не могу сообразить в чем ошибка и что подправить. Подскажите?

Во-первых, у Вас ошибка — необходимо уточнить партен до \b(\u\.\s). Иначе может получиться ситуация, в которой зацепится СЛОВО-КАПСОМ. Б. Уквочки.

Во-вторых, раз уж подготавливаете скрипт автозамены, внесите в него корректировку ошибок — пробелов-то может и не быть, а может быть и несколько...

В результате получается такой партен поиска:
Код:
\b(\u\.)\s*(\u\.)\s*(\u\w+)
Партен замены:
Код:
$3~s$1~s$2
\b - граница слова
~s - неразрывный пробел

Возможно, пока Вы «баловались» - составляли партен накидали лишних пробелов. В Вашем варианте в партене замены были пробелы, хотя они же цеплялись в партене поиска.
 
  • Спасибо
Реакции: EvilOrange
Статус
Закрыто для дальнейших ответов.