Использование GREP для изменения рисунка кавычек в кавычках

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

Maxbor

Топикстартер
15 лет на форуме
Сообщения
215
Реакции
82
Уважаемые знатоки!
Для решения сабжа в том случае, если внутренняя пара кавычек повторяется один раз, например так:

...з однокласників. «Якщо я збираю «Дональди» ми починаємо товаришувати». Я ходив...

могу использовать следующую замену:

Find what: («)([^«»]*)(«)([^«»]*)(»)([^«»]*)(»)
Change to: «$2“$4”$6»

Возможно ли решить задачу, если внутренние кавычки повторяются произвольное число раз, например так:

...з однокласників. «Якщо я збираю «Дональди», і ще хтось збирає «Дональди», ми починаємо товаришувати». Я ходив...
требуется получить такое:
...з однокласників. «Якщо я збираю Дональди, і ще хтось збирає Дональди, ми починаємо товаришувати». Я ходив...

Как?
 
Ответ: Использование GREP для изменения рисунка кавычек в кавычках

Ну, во-первых, внутренние кавычки все же должны быть 0132-0147, а не как у Вас. (Визуально: нижние 99, верхние 66).

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

Find what: («)(([^«»]*)(«)([^«»]*)(»)([^«»]*))* (»)

Но самое простое, очевидно, прогонять Вашу замену несколько раз.

Или написать скрипт, что-то типа: пока возвращается успешный результат замены --- повторять.
 
Ответ: Использование GREP для изменения рисунка кавычек в кавычках

> Find what: («)(([^«»]*)(«)([^«»]*)(»)([^«»]*))* (»)

Простите, я совершенно туп в GREP, еле-еле начинаю соображать.
Но какая в это случае замена // chаnge?
При все том, вопрос очень важен для все тех, кто работает с книгой. :-)
 
Ответ: Использование GREP для изменения рисунка кавычек в кавычках

Возможно ли решить задачу, если внутренние кавычки повторяются произвольное число раз, например так:

Цитата:
...з однокласників. «Якщо я збираю «Дональди», і ще хтось збирає «Дональди», ми починаємо товаришувати». Я ходив...


требуется получить такое:

Цитата:
...з однокласників. «Якщо я збираю “Дональди”, і ще хтось збирає “Дональди”, ми починаємо товаришувати». Я ходив...


Как?

Осмелюсь спросить.. А ответ на этот вопрос найден? И если да, то какой?
То, что ниже предлагает fdlagain подвешивает надолго программу, но ничего не находит к сожалению...
 
Ответ: Использование GREP для изменения рисунка кавычек в кавычках

А если такой вариант?

Find what: («)([^«»]*)(»)
Change to: „$2“

Вроде работает с любым количеством повторов.
 
Ответ: Использование GREP для изменения рисунка кавычек в кавычках

А если такой вариант?
Find what: («)([^«»]*)(»)
Change to: „$2“
Вроде работает с любым количеством повторов.

Это срабатывает в кусочке процитированного выше текста.. А вот в таком:

...з однокласників. «Якщо я збираю «Дональди», і ще хтось збирає «Дональди», ми починаємо товаришувати». Я ходив в «Дональди» и он ходив в «Дональди»... (сорри, не знаю украинского, есличо ))

последние две пары кавычек тоже изменяются. Так что сразу ко всему тексту большой книги, увы, не применить :(
 
Ответ: Использование GREP для изменения рисунка кавычек в кавычках

Я даже когда-то скрипт для себя писал по этой задаче. Но к сожалению, при малейшей ошибке в наборе (случайный лишний пробел перед или после кавычки) результаты замен могут быть плачевными... Поэтому ищу подобные вещи вручную, без заморочек типа такого: «[^»]+«
 
Ответ: Использование GREP для изменения рисунка кавычек в кавычках

sakhar сказал(а):
Поэтому ищу подобные вещи вручную, без заморочек типа такого: «[^»]+«
О, отлично! Это вполне устраивает.
А в графе "заменить на" можно что-нибудь написать? Или же просто находить и ручками рисовать кавычки?
 
Ответ: Использование GREP для изменения рисунка кавычек в кавычках

Ну частично автоматизировать конечно можно:
(«[^»]+)(«) менять на $1“
Но 2-ю закрывающуюся кавычку придется менять вручную или же проходить другим типом замены, но в этом случае вероятность полной замены может сильно уменьшиться...
 
Ответ: Использование GREP для изменения рисунка кавычек в кавычках

я наловчилась заменять двумя сохраненными наборами. Сначала этим: «[^»]+« ищу начало куска текста, потом выделяю нужный текст и использую:
Find what: («)([^«»]*)(»)
Change to: „$2“

Жить можно :) Спасибо!
 
Ответ: Использование GREP для изменения рисунка кавычек в кавычках

Да простят меня модераторы (ежели виноват — пишите, исправлюсь), но не могу не поделиться, может кто еще не видел.
На братском сайте Михаил Иванюшин выложил свой чудодейственный скрипт на тему.
 
Ответ: GREP в InDesign. Что и как

Это почему он так делает? (см. аттач)
Почему не останавливается на вторых кавычках?
Как исключить тогда из списка символов кавычки, чтобы он их не считал?

И почему?! он! в одном абзаце делает все правильно, а в следующем, где несколько закавыченных выражений, обхватывает все, что между первыми и последними?? И все это в одном поиске, то есть жму find - он находит закавыченное в первом абзаце, меняю на что надо, жму find дальше - он находит все между первыми и последними кавычками в абзаце.
рррррр!!!

цс4, мак
 

Вложения

  • Picture 2.png
    Picture 2.png
    85.7 КБ · Просм.: 1 179
Ответ: GREP в InDesign. Что и как

ага
ну как обычно, все гениальное - просто, в строке поиска надо вот что писать: (“)(.+?)(”)

спасибо Батушеву :)
 
Статус
Закрыто для дальнейших ответов.