Regex в Notepad ++ для поиска-замены или удаления неполных строк - PullRequest
1 голос
/ 24 мая 2019

Это адаптировано из онлайн-набора данных, ссылающегося на «Жалобы клиентов». Данные были изменены в Excel и Notepad ++. Эта манипуляция создала «дополнительный» набор кавычек, непосредственно следующий за каждой «индексной цифрой» [1,2,3 ...] непосредственно после строки «VALUES (X». Я хотел бы удалить только эти «дополнительные кавычки» и поддерживать порядковые номера индексов, которые варьируются от одной цифры до числа, имеющего пять цифр. Это готовится к работе с частной базой данных, содержащей 1,35 миллиона строк кода.


Эта довольно неуклюжая адаптация Regex «найдет» строку, содержащую кавычки, но «заменить» код, который поддерживает номера индексации, ускользает от меня. Любая помощь будет оценена.

REGEX

\s\(([0-9])",|\s\(([0-9][0-9])",|\s\(([0-9][0-9][0-9])",|\s\(([0-9][0-9][0-9][0-9])",|\s\(([0-9][0-9][0-9][0-9][0-9])",

СТРОКИ ДАННЫХ

INSERT INTO Complaints VALUES (1","2013-07-29","consumer loan","managing the loan or lease","Wells Fargo & Company","VA","24540","phone","2013-07-30","closed with explanation","468882");

INSERT INTO Complaints VALUES (2","2013-07-29","bank account or service","using a debit or ATM card","Wells Fargo & Company","CA","95992","web","2013-07-31","closed with explanation","468889");

INSERT INTO Complaints VALUES (3","2013-07-29","bank account or service","account opening, closing, or management","Santander Bank US","NY","10065","fax","2013-07-31","closed","468879");

Ответы [ 2 ]

1 голос
/ 24 мая 2019
  • Ctrl + H
  • Найти что: VALUES\h*\(\d+\K"
  • Заменить на: LEAVE EMPTY
  • check Wrap вокруг
  • check Регулярное выражение
  • Заменить все

Пояснение:

VALUES      # literally
\h*         # 0 or more horizontal spaces
\(          # opening parenthesis
\d+         # 1 or more digits
\K          # forget all we have seen until this position
"           # a double quote

Снимок экрана:

enter image description here

1 голос
/ 24 мая 2019

Найти VALUES \((\d+)" - внутренние скобки будут фиксировать цифры (\d) один или несколько раз (+), пока не встретится ".

Затем можно заменить на VALUES \($1 где $1 - соответствующее захваченное значение.

...