Я делаю Поиск в файлах в Notepad++, и мне нужно добавить несколько запятых в конце первого ряда каждого CSV в папке.

Добавление к каждой строке с регулярным выражением $ не поможет.

Столбец 1, строка 1, всегда будет начинаться с "Ab", и эта строка не будет больше нигде во всем CSV, но то, что следует за Ab, меняется.

С помощью регулярных выражений я попытался: найти «Ab .....» и заменить его на «Ab ..... ,,», но столбец 2 строки 1 не содержит одинаковое количество символов в каждом CSV, так что не Работа.

Так, например, я хочу добавить 2 запятые после d, но не после 2 или 4 для тысяч csvs, где "d" и "g" меняются.

Abg, d
y, e,1,2
c, f,3,4

1 ответ1

0

Используя регулярное выражение N++, вы можете сделать следующее:

найти: ^(Ab.*)$

заменить: \1,,

Это соответствует Ab только в том случае, если оно находится в начале строки (« ^ - это «попрошайничество»), за которым следует что-либо (.* Говорит, что повторяется «любое совпадение символов») до конца строки ($ - это переключатель 'eol'). () Позволяет нам сохранять результаты регулярных выражений, чтобы мы могли использовать их позже.

В строке замены, \1 говорит об использовании первого совпадения в скобках в качестве нашей замены (часть (Ab.*) ), За которой следуют 2 запятые.

ПРИМЕЧАНИЕ: убедитесь, что у вас нет . matches newline флажку новой строки, установленному при выполнении поиска по регулярному выражению, так как .* тогда будет означать «остальная часть документа».

Итак, учитывая ваш пример выше:

Abg, d
y, e,1,2
c, f,3,4

Будет тогда

Abg, d,,
y, e,1,2
c, f,3,4

Затем вы можете сделать «Заменить все во всех открытых документах», чтобы применить это регулярное выражение ко всем файлам, которые вы открыли.

Надеюсь, что это может помочь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .