2015-08-27 2 views
2

У меня есть 50 файлов, которые имеют пустую первую строку и заголовки столбцов, окруженные двойными кавычками во второй строке. Я хочу, чтобы удалить первую строку и удалить двойные кавычки "из второй строки для каждого файла.Сделать изменения в первой строке для каждого файла в блокноте ++

Может и эти изменения быть сделаны в 1 регулярном выражении или мне нужно использовать два различные выражение?

Примечания: Я не могу напечатать первую строку как пустую в данных образца, так как этот сайт мне не разрешает. \ N - это просто обозначить пустую строку.

Также вторая строка отличается во всех 50 файлах, поэтому Я не могу использовать простой поиск и замену. Мне нужно использовать некоторое регулярное выражение.

Примеры данных.

\n 
"PRODUCTID","ATTRIBUTENAME_VALUE","STATE" 
"00300678116042","NOT_APPLICABLE","CONFIRMED" 
"00041260363603","NOT_APPLICABLE","CONFIRMED" 

Ожидаемый результат

PRODUCTID,ATTRIBUTENAME_VALUE,STATE 
"00300678116042","NOT_APPLICABLE","CONFIRMED" 
"00041260363603","NOT_APPLICABLE","CONFIRMED" 
+0

Просто из интереса ... являются первые строчки во всех 50 файлов то же самое ...? – xcoder

ответ

1

Я думаю, что это должно работать как один заменить найти в файлах:

Найти: ^\r\n"(.*?)","(.*?)","(.*?)"

Заменить: \1,\2,\3

1

Вы можете попробуйте что-то вроде этого:

(?:\G(?!^)|^\R)"([^"\n]*) 

и заменить его на $1.

модели детали:

(?: 
    \G  # contiguous to the previous match 
    (?!^) # not at the start of the line 
      # (to prevent \G to match the start of the string) 
    |   # OR 
    ^\R  # start of a line followed by a newline (an empty line) 
) 
" 
([^"\n]*) # capture group 1: all that is not a quote or a newline 
      # (to reach the next quote) 
+0

Интересно, что в моем np ++ 6.7.9.2 он не удалял первую строку, но это сработало: '(?

+1

@ Jonny5: действительно, np ++ не поддерживает привязку' \ A' и использует по умолчанию многострочный режим (поэтому '^' всегда совпадает с началом строки). Я пропустил, что пустую строку нужно удалить. Я исправлю это. –

+0

Работал Отлично – Victor