Третья табуляция

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

ewaeee

Топикстартер
15 лет на форуме
Сообщения
20
Реакции
0
Люди добрые, поможите, чем сможете! Имеется массив строк текста (каждая - самостоятельный абзац). В каждой строке текст разбит табуляциями, по 5-6 штук в строке. Нужно заменить третью табуляцию на другой знак, например, неразрывный пробел. Как поймать третью табуляцию?
 
Ответ: GREP в InDesign. Что и как

Чтобы заменить третью табуляцию на неразрывный пробел (~S):
^(([^\t]+\t){2}[^\t]+)\t
меняем на
$1~S

Это как вариант. Можно, наверняка, еще чего-нибудь придумать.

Придумал еще, покороче:
^(([^\t]+\t*){3})\t
меняем на
$1~S
 
Ответ: GREP в InDesign. Что и как

Виталий, преклоняюсь перед решением задачи. Спасибо за ответ и оперативность.
Не могли бы разжевать полученное выражение - я так и не понял, как вы так элегантно обошли любые символьные последовательности между табуляциями.
 
Ответ: GREP в InDesign. Что и как

Да не над чем тут преклоняться-то.
Читаем выражение по-русски:
Ищем в начале строки (^) трижды встречающееся сочетание "любой набор символов, кроме табуляции ([^\t]+), заканчивающийся табуляцией (\t), которой может не быть или быть табуляций великое множество (*)", за которым следует табуляция. Заменяем найденное, сохраняя найденное до табуляции, на неразрывный пробел.
 
Статус
Закрыто для дальнейших ответов.