Разметить текст ОБЪЯВЛЕНИЙ (и прочих текстов с регулярной структурой) стилями

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

KeS))

Участник
Топикстартер
Сообщения
128
Реакции
0
Что необходимо ввести для того чтобы общий текст преобразовался по определенным блокам в текст с тремя стилями?
исходный блок - { название }{ описание }{ циферки }
на сколько понимаю, необходимо вводить поиск между символами... к примеру от начала предложения до символа "(", затем между символами "(" и ")" причем включая эти символы, и цифры до конца предложения или начала следующего слова.

к примеру,
из
"Мороженое__(лакомство): 200-50-100"
"Бисквитный торт__(десерт): 200-50"
сделать это
"МОРОЖЕНОЕ (лакомство) 21/50/100"
"БИСКВИТНЫЙ ТОРТ (десерт) 200/50"

Соответственно для каждого из предположительно трех значений уже есть стиль1, стиль2 и стиль3.
А количество третьего "блока" (цифры) различное... т.е. может быть как три так и 10 значений, так же различно и количество слов для первого блока.
 
Ответ: GREP в InDesign. Что и как

Вам нужны не GREP, а Nested Styles (практика показала, что они работают быстрее).
Настройки такие:
ЖИРНЫЙ up to 1 (
курсив through 1 )
normal through 1 End Nested Style Character
(здесь слова "ЖИРНЫЙ", "курсив" и "normal" - имена символьных стилей)
 
Ответ: GREP в InDesign. Что и как

Будьте любезны, помогите с выражением.
Дано: объявы о продаже а/транспорта вида
«Audi 80 B4» 1992 г.в. Инж., э/зеркала, подогр. сид., ГУР, люк, лит. диски + компл. зим. рез., mp3, сабвуфер, усил., тонир. Сост. хор. 165000 руб., торг. Тел. такой-то.
Каждая следующая объява идёт с абзаца.
Цель: все модели и марки машин в кавычках сделать bold-ом (в данном члучае «Audi 80 B4»).
Нюанс: имеются "двойные" наименования, типа «УАЗ «Патриот». Задача та же.
 
Ответ: GREP в InDesign. Что и как

Find: (\«)(.+?)(\»)
Change: $0

Ну и присвоить bold.
Правда кавычки тоже заболдятся

Если только внутри текст болдить, я попробовал (?<=\«)(.+?)(?=\»), но тогда внутренняя кавычка будет жирной :(
Как-то тогда нужно в 2 прохода наверное делать.
 
Ответ: GREP в InDesign. Что и как

Как вариант перечислить все марки (или часть их названий), например:
(Волга \d+|Москвич\-?\d+|Mitsubishi \u\l+)
 
Ответ: GREP в InDesign. Что и как

Большое спасибо! Вариант @diz@ полностью устроил. Кавычки и должны тоже болдиться :) Я не совсем корректно поставил цель.
Более того. По запаре совершенно упустил важный момент.

«УАЗ «Патриот» 2006 г.в., зелёный «металлик». Двиг. 2,7, 128 л.с., компл. «люкс», пробег 82000 км, э/люк, 2 э/стекла, э/зеркала с подогр., релинги, фаркоп, тонир., магнитола, лит. диски, ткань, 1 хозяин, гаражн. хран. Сост. хор. 350000 руб., торг. Тел. такой-то.

Болдится всё, что в кавычках, т.е. и "металлик" и "люкс". Это лишнее. Таким образом, скорректирую задачу - болдиться должно только первое содержимое кавычек (вместе с кавычками) с каждого абзаца.
Это ведь тоже реализуемо? Скорректируете выражение?
 
Ответ: GREP в InDesign. Что и как

(^[^«]*«)(.+?)(»)
"От начала слова любое количество символов, кроме символа «, за которыми следует символ «, а за ним любое количество символов до ближайшего символа »".
Менять тоже на $0 с болдением
 
Ответ: GREP в InDesign. Что и как

Всё ОК. Большое спасибо!
 
Ответ: GREP в InDesign. Что и как

Не могу составит запрос. Есть объявления вида.
Код:
• <grey>Какой-то текст
Например
• <grey>АВТОМОБИЛЬ после ДТП. Тел.: 8‑ХХХ‑ХХХ‑01‑70.
Как найти скриптом такую строку?
ввожу в меню find/change "• <grey>.+" выделяется что надо, но скрипт, что-то не выделяет. Скажите как правильно в скрипте написать
 
автоматическое форматирование внутри абзаца

товарищи помогите советом
имею верстку объявлений. в публикацию импортирую файл .тхт уже размеченный тегами стилей абзацев. Файл имеет такой примерно такой вид:
<ParaStyle:obv>Тойота Селика 1995 г.в. шикарное купе бизнес - класса, 5 мест, 1,8л, 7л/100 км, фиолетовый, очень красивый дизайн кузова, «лупоглазая», ухоженная. полный фарш, кожа. Цена 8 тыс.у.д.е. без торга. Тел. 066-9329550, 329405
Получаем следующее:
00.jpg
Вопрос: какими средствами можно проще (дешевле) добиться следующего вида:
01.jpg
может можно как то при помощи вложенных стилей???
 

Вложения

  • 00.jpg
    00.jpg
    54.5 КБ · Просм.: 986
Ответ: автоматическое форматирование внутри абзаца

может можно как то при помощи вложенных стилей???
Вы сами ответили на свой вопрос.
По поводу цены — только абзац отбить поиском например.
 
Ответ: автоматическое форматирование внутри абзаца

По поводу цены — только абзац отбить поиском например.
не догоняю алгоритм действий....
отбить так?
1. Заменть слово "Цена" на "абзац+Цена"
2. Замениь слово "у.д.е." на "у.д.е.+конец абзаца"
... предположим сделаю, (хотя слово "Цена" может встречаться и в другом контексте)
Как к полученой строке применить нужное форматирование??
 
Ответ: автоматическое форматирование внутри абзаца

через GREP. Вот здесь задайте вопрос http://forum.rudtp.ru/showthread.php?t=28482&page=15 , как найти сочетание "Цена * у.д.е" и заменить на "конец абзаца Цена * у.д.е конец абзаца".


Не по теме:
Эх никак не научусь грепом пользоваться ((
 
Ответ: автоматическое форматирование внутри абзаца

теоретически строку отделить можно...
а как ей задать нужный стиль? Я так понимаю вложенный стиль - это стиль символа, а не абзаца.. а стиль абзаца читается только при помещении текста...
 
Ответ: автоматическое форматирование внутри абзаца

Я вот не могу понять: у Вас на скрине цена дублируется. А диалог ведется только о том, чтобы цену выделить без дублирования. Как всё-таки должно быть?
 
Ответ: автоматическое форматирование внутри абзаца

нужно перед "Цена" вставить "конец абзаца", и к найденому применить абзацный стиль. Но у вас дублируется "Цена...", как я вижу
И "энтер" получит тот же стиль, а он в предыдущей строке остается. То есть, применение стиля, отложить на второй заход. А вот как быть с дубликатом...
 
Ответ: автоматическое форматирование внутри абзаца

Я вот не могу понять: у Вас на скрине цена дублируется. А диалог ведется только о том, чтобы цену выделить без дублирования. Как всё-таки должно быть?
без дублирования!!! Извините..
 
Ответ: автоматическое форматирование внутри абзаца

Раз дублирование всё-таки не нужно, то текст проще доработать в текстовом редакторе, поддерживащим регулярные выражения (например, UltraEdit) - т.е. в нём проставить абзацные стили и лишь затем втягивать в InDesign.
 
Ответ: автоматическое форматирование внутри абзаца

Ну тогда можно цене отдельный абзацный стиль прописать и грепом в 2 захода:
1. Найти: (Цена)(.+?)(у\.д\.е\.)
Заменить: \r$1$2$3\r

2. Найти: ^Цена.+?у\.д\.е\.(?=\r)
Заменить: абзацный стиль для цены
 
Статус
Закрыто для дальнейших ответов.