[ID CC-CC2021] Помогите сделать grep-замену для таблицы

sashamo

Топикстартер
12 лет на форуме
Сообщения
538
Реакции
10
Собственно нужно сделать поиск таблиц (на 3, 4, 5, 7, колонок) и применить к ним соответствующий стиль. Столбцы разделены табуляторами. То есть надо чтоб greep искал количество таб-оступов и применял к даной строке соответсвтующий параграфный стиль.
 

NNN5

Модератор
15 лет на форуме
Сообщения
1 256
Реакции
1 012
Фактически у вас не таблица, а текст с табуляторами?
Вот пример искомого на 5 колонок:
^(.+)\t(.+)\t(.+)\t(.+)\t(.+)$
Заменить на:
$0 и стиль нужный указать.
 
  • Спасибо
Реакции: ITIT и sashamo

sashamo

Топикстартер
12 лет на форуме
Сообщения
538
Реакции
10
Фактически у вас не таблица, а текст с табуляторами?
Вот пример искомого на 5 колонок:
^(.+)\t(.+)\t(.+)\t(.+)\t(.+)$
Заменить на:
$0 и стиль нужный указать.
Да у меня текст с табуляторами и в одном фрейме есть на 3 на 4, 5 и тд табуляторов. Ваш пример выделяет в 7 колоночной таблице первые 5 табуляторов. То есть наверное надо ставить ограничение абзацный отступ?
 

NNN5

Модератор
15 лет на форуме
Сообщения
1 256
Реакции
1 012
Вы же абзацный стиль будете присваивать? Вот и присваивайте. Выделили 5, а присвоится он всему абзацу.
Можно не 5, а 3 первых.
Тогда:
^.+\t.+\t.+\t.+$
При замене не забудьте поставить $0 и нужный стиль.
 

sashamo

Топикстартер
12 лет на форуме
Сообщения
538
Реакции
10
Вы же абзацный стиль будете присваивать? Вот и присваивайте. Выделили 5, а присвоится он всему абзацу.
Можно не 5, а 3 первых.
Тогда:
^.+\t.+\t.+\t.+$
При замене не забудьте поставить $0 и нужный стиль.
Все так но я хотел сказать что ваша замена выделяет как в 3-колоночоной таблице так и в 4 5 6 7 тд. У меня на каждое количество колонок свой параграфный стиль (разные таблицы имеют свой собственный стиль). То есть нужно что б выделяло только в 3 колончоной таблице , далее другая замена ищет 4 табулятора и присваивиет другойстиль на 4 колонки и тд.
 
Последнее редактирование:

NNN5

Модератор
15 лет на форуме
Сообщения
1 256
Реакции
1 012
Ну вот и сделайте столько замен, сколько у вас различных стилей.
Пацаны не против.
 

densen

15 лет на форуме
Сообщения
753
Реакции
642
То есть нужно что б
Выражение ^((.+\t){6}.+\r)+ выделяет всю таблицу из семи колонок. Если нужно выделить таблицу из шести колонок, то в выражении нужно заменить цифру 6 на 5, т.е. цифра должна быть на единицу меньше, чем количество колонок в таблице.
 
  • Спасибо
Реакции: sashamo и ITIT