Умная автозамена

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

Zoroff

Участник
Топикстартер
Сообщения
11
Реакции
0
Помогите советом.
Нужно в большом количестве тексте убрать дефисы, которые отделяет в телефонных номерах цифры. (например715-15-15). Их нужно заменить на пробелы.
Вручную больно не хочется.
Пробовал автозаменой воспользоваться, с применением символов ^9 - означающих "любая цифра". Но InDesign, кажется - собака:), если я ничего сам не путаю, и этот символ позволяет только для ПОИСКА любой фифры использовать, но не для замены. если я пишу ЗАМЕНИТЬ ^9-^9 НА ^9пробел^9, он так и вставляет эти символы ^9 вместо дефисов.

Может кто чего-нить придумает, как конкретизировать поиск?
 
Ответ: Умная автозамена

В три хода:

^9-^9 заменить на какой-нибудь атрибут которого точно нет в публикации. Например "зачеркнутый".

Зачеркнутые дефисы заменить на пробелы.

Все зачеркнутое заменить на незачеркнутое.
 
Ответ: Умная автозамена

вообще, тут регулярные выражения нужны :)

можно воспользоваться например моим корявым плагином (взять на http://textwizard.spb.ru).
 
Ответ: Умная автозамена

Skvoznyak сказал(а):
вообще, тут регулярные выражения нужны :)

можно воспользоваться например моим корявым плагином (взять на http://textwizard.spb.ru).

А где можно ознакомиться с синиаксисом рег. выражений для этого плагина? Например я хочу поменять много пробелов на 1 везде во всем тексте \х0032 {2;} заменить на \x0032 не работает. Что не так?
 
Ответ: Умная автозамена

2 Specialist
Пасиба. То что нужно. Странно, что сам не догадался:) Ответ в общем-то на поверхности был:)
 
Ответ: Умная автозамена

Gennad:
синтаксис Perl. замена пробелов " +" на " " (кавычки не нужны). а если Ваш вариант, то вместо ; надо ,
и насчет \x0032 я не уверен, что это пробел - после \x число записывается в шестнадцатеричной системе счисления.
 
Ответ: Умная автозамена

Gennad сказал(а):
\х0032 {2;} заменить на \x0032 не работает. Что не так?
Пробел это \x0020
 
Ответ: Умная автозамена

Zoroff сказал(а):
2 Specialist
Пасиба. То что нужно. Странно, что сам не догадался:) Ответ в общем-то на поверхности был:)

Имейте ввиду что таким способом вы убьете дефисы в конструкциях вроде этой: "2005-2006 год". Посему лучше использовать что-то типа ^9^9^9-^9^9-^9^9.
 
Ответ: Умная автозамена

И все таки это не работет....

Если я меняю ^9-^9 на что-то, то я получается меняю сразу цифру, дефис, цифру на это "что-то".
Способом, указанный Specialist не могу воспользоваться еще и потому, что при второй замене не объяснить программе какие именно цифры раньше стояли по бокам от дефиса.
 
Ответ: Умная автозамена

Zoroff сказал(а):
И все таки это не работет...
Еще раз внимательно перечитайте, что вам советовали! И лучше еще какую-нить литературку почитайте...
 
Ответ: Умная автозамена

Русскоязычный ресурс о регулярных выражениях: http://www.pcre.ru
 
Ответ: Умная автозамена

Skvoznyak все сказал.
Берете его плагин
в поиске ставите
(\d\d\d-\d\d)-(\d\d)
в замене
$1$2

из строки 666-66-66 получается 666-6666
все
 
Ответ: Умная автозамена

Zoroff сказал(а):
И все таки это не работет....

Если я меняю ^9-^9 на что-то, то я получается меняю сразу цифру, дефис, цифру на это "что-то".
Способом, указанный Specialist не могу воспользоваться еще и потому, что при второй замене не объяснить программе какие именно цифры раньше стояли по бокам от дефиса.


Ну ладно, объясняю по слогам.

Замена 1:
Искать: ^9-^9
Формат: <пусто>
Заменить на: <пусто>
Формат: зачеркнутый

Замена 2:
Искать: -
Формат: зачеркнутый
Заменить на: <пробел>
Формат: <пусто>

Замена 3:
Искать: <пусто>
Формат: <зачеркнуто>
Заменить на: <пусто>
Формат: <незачеркнуто>


Все.
 
Еще 1 вариант глобальной замены

1. Делаем символьный стиль совпадающий с символами основного текста (например Symbol)

2. Глобально меняем все ^9-^9 на пустой элемент с параметрами Change Format settings Symbol (т.е. назначаем всем вхождениям цифра-дефис-цифра стиль Symbol)

3. Глобальным поиском меняем все дефисы со стилем Symbol на пробелы

Удаляем стиль Symbol с сохранением форматирования

Конструкция работает, единственное но - если в тексте номера набраны разными по форматированию стилями...
 
Ответ: Умная автозамена

2 Specialist

пасиба большое. Все получилось.
Я не знал про такие возможности автозамены...:)
Век живи — век учись:)
 
Ответ: Умная автозамена

Zoroff сказал(а):
2 Specialist

пасиба большое. Все получилось.
Я не знал про такие возможности автозамены...:)
Век живи — век учись:)

Нема за шо. :)


Не по теме:
А какая монструозная автозамена у Ворда! Там даже зачатки регулярных выражений есть! Другое дело, чтобы ей успешно пользоваться нужны хотя бы базовые знания об алгоритмизации.
 
Статус
Закрыто для дальнейших ответов.