[ID CS4-CS6] Поиск только одного совпадения

  • Автор темы Автор темы DmD
  • Дата начала Дата начала

DmD

Участник
Топикстартер
Сообщения
5
Реакции
0
Есть текстовый массив - частные объявления. Выгрузка из БД приходит одним текстовым фалом построчно, условно в формате: "Рубрика / Подрубрика / Текст" и так по каждому объявлению. Задача - первое упоминание "рубрики" заменить на якорь для графики, последующие упоминания "рубрики" удалить до момента пока "рубрика" не станет "рубрика1" и далее... Руками неинтересно - рубрик много.
Мыслю, что нужно найти/заменить первое вхождение, потом зачистить остальное, но как подступиться - не соображу.
 
Здесь вижу только скрипт. Вписывается в массив список рубрик, далее перебор каждого элемента массива. Первое встречное меняется на якорь для графики, остальные встреченные элементы удаляются, далее переход к следующему элементу массива.
 

Не по теме:
А газеты с объявлениями (да еще в объемах требующих автоматизации) еще где то живы?
 
  • Спасибо
Реакции: xenOnn
Как у вас в выгрузке отделены рубрики от подрубрик? Вы указали символ слеша (/). У вас так или как-то иначе?
 
Что касается замены слов на объекты, был такой скрипт Words2Inlines.js Олега Бутрина. У меня нет сведений, работает ли он.

Есть идея использовать слияние данных (Data Merge) в связке со скриптом csv2tables.
1. Выгрузку вашу можно обработать в Excel и разбить на два столбца. В первом столбце в одних строках останутся только стартовые названия рубрик + расширение файла вашей картинки ("Рубрика1.jpg"). В остальных строках — пусто. Заголовок столбца должен начинаться со знака @ (например, "@Картинка")
Во втором столбце — весь остальной текст ("Подрубрика / Текст"). Заголовок столбца пусть будет "Текст"
Всё это записывается как текстовый файл в кодировке Unicode и кладётся в папку, где лежат картинки (Рубрика1.jpg и все остальные).
2. В InDesign делаете шаблон для слияния в виде таблицы из 2 строк. Первая строка — заголовок. Вторая —- ваши переменные @Картинка и Текст. Сохраняете файл!
3. Выделив строку с переменными, запускаете скрипт csv2tables. Он формирует таблицу, в которой в первом столбце будут картинки в тех строках, где начало рубрики, а во втором - остальной текст. Сохраняете как отдельный файл.
4. Превращаете таблицу в текст.

По поводу обработки в Excel, кодировок - обращайтесь.
 
Здесь вижу только скрипт. Вписывается в массив список рубрик, далее перебор каждого элемента массива. Первое встречное меняется на якорь для графики, остальные встреченные элементы удаляются, далее переход к следующему элементу массива.
Жаль, если только скриптом.
Что касается замены слов на объекты, был такой скрипт Words2Inlines.js Олега Бутрина. У меня нет сведений, работает ли он.

Есть идея использовать слияние данных (Data Merge) в связке со скриптом csv2tables.
1. Выгрузку вашу можно обработать в Excel и разбить на два столбца. В первом столбце в одних строках останутся только стартовые названия рубрик + расширение файла вашей картинки ("Рубрика1.jpg"). В остальных строках — пусто. Заголовок столбца должен начинаться со знака @ (например, "@Картинка")
Во втором столбце — весь остальной текст ("Подрубрика / Текст"). Заголовок столбца пусть будет "Текст"
Всё это записывается как текстовый файл в кодировке Unicode и кладётся в папку, где лежат картинки (Рубрика1.jpg и все остальные).
2. В InDesign делаете шаблон для слияния в виде таблицы из 2 строк. Первая строка — заголовок. Вторая —- ваши переменные @Картинка и Текст. Сохраняете файл!
3. Выделив строку с переменными, запускаете скрипт csv2tables. Он формирует таблицу, в которой в первом столбце будут картинки в тех строках, где начало рубрики, а во втором - остальной текст. Сохраняете как отдельный файл.
4. Превращаете таблицу в текст.

По поводу обработки в Excel, кодировок - обращайтесь.
csv2tables. - поковыряю, но не уверен, что это оно (на первый взгляд много телодвижений, хотя...)
С внедрением графики проблем нет, скрипт ImportTGBIN решает эти проблемы

Не по теме:
А газеты с объявлениями (да еще в объемах требующих автоматизации) еще где то живы?
i.rde.ru
Объемы может и не впечатляющие, но тратить на разворот более часа нет никакого желания
Как у вас в выгрузке отделены рубрики от подрубрик? Вы указали символ слеша (/). У вас так или как-то иначе?
Вот так:

+ Юридические и бухгалтерские услуги / разное 1
Опытный юрист 509-506
+ Компьютеры, телефоны / продам 1
Компьютеры, мониторы, ноутбуки, комплектующие. Красноармейская, 136. Фирма "Модернизация", 56-30-03
+ Компьютеры, телефоны / куплю 1
Скупка компьютеров, ноутбуков, мониторов. 8-906-950-40-50, ул. Усова, 40
+ Компьютеры, телефоны / услуги 6
Ремонт. 52-06-12
СЕРВИСНЫЙ ЦЕНТР "Альфа". Ремонт компьютеров, ноутбуков, планшетов, телефонов. 8-952-181-2777. Говорова, 36. ВЫВОРОТКА
Ремонт, настройка: компьютеров, ноутбуков, телефонов. Честно, недорого, выезд. 8-913-872-44-55
Диагностика, ремонт, сборка компьютеров. 56-30-03
РемонтСмартфонов bitronik-ru
8-923-419-50-01. Абсолютная компьютерная помощь. Установка программ.
УстановкаПрограмм bitronik-ru
+ Разное / продам 12
Горбыль сухой без срезки, береза колотая, доставка. Газель. 8-906-949-59-59 *
БЕРЕЗА КОЛОТАЯ. БЕЗ ВЫХОДНЫХ. 97-98-44.
 
То есть признак рубрики — это знак "+" в начале абзаца и слеш ("/") после?
Остальные абзацы не могут начинаться с плюса?

Тогда, если картинки будут вставляться скриптом ImportTGBIN, предлагаю такой алгоритм.

Вашу выгрузку закидываем в Excel.
 

Вложения

Ваша задача легко решается sed или awk.
К сожалению, не знаю, что это. Можно ссылки?
То есть признак рубрики — это знак "+" в начале абзаца и слеш ("/") после?
Остальные абзацы не могут начинаться с плюса?

Тогда, если картинки будут вставляться скриптом ImportTGBIN, предлагаю такой алгоритм.

Вашу выгрузку закидываем в Excel.
Я посмотрел ваш файл. Не совсем верно. Например в файле рубрика "Компьютеры, телефоны" повторяется трижды, каждый раз со своей подрубрикой. А Нужно, чтобы она повторялась только один раз, потом перечислялись только рубрики.
А так рубрики от текста прекрасно отделяются в ИД GREP-заменам.
 
Да! И что я про эксель забыл / не подумал.
Маленько изменил этот файл, чтобы он оставлял служебные метки (+, /) Копипастим в ИД и дальше просто обрабатывается набором GREР-замен (раставляются стили, метки для графики). И даже никакой DataMerge здесь не нужен.

Спасибо огромное!
 

Вложения

Для "спасибо" есть кнопка.
 
  • Спасибо
Реакции: DmD