1

У меня есть текстовый файл со строками, похожими на приведенные ниже:('8510851205', 'needthishere', '', ''), он мне нужен, чтобы удалить все и оставить только эту потребность в каждой строке. Как бы я это сделал?

2 ответа2

0

Вот что я бы сделал.

  1. Поиск (режим поиска: регулярное выражение):. ',\ S' Заменить на: \ n
  2. В окне поиска на вкладке "Пометить" отметьте галочкой все строки с апострофом
  3. а) В меню "Поиск" выберите "Закладка", затем "Обратная закладка"
  4. а) На этом этапе у вас должны быть две закладки в закладки; Вы можете вернуться к тому же меню Поиск -> Закладка и вырезать / скопировать строки с закладками

3b) В меню поиска выберите "Удалить отмеченные строки", в результате чего останутся только те биты, которые вас интересуют.

3b.

0

Вот простое регулярное выражение, которое вы ищете.

В N++ выберите вкладку "Заменить" в окне "Найти".Установите флажок "Регулярные выражения".

Найти:

^[^)]*\('[^']*',\s*'([^']*)'(?:,\s*''){2}\),?\s*$

Заменить:

\1

Нажмите кнопку "Заменить все".

В качестве примера я запустил этот файл:

('8510851205', 'needthishere', '', '')
('2120986452', 'slthornton', '', ''), 
('2121111111', 'strict_daddy4u', '', '')

Выход:

needthishere
slthornton
strict_daddy4u

Я мог бы сделать его короче, но хотел убедиться, что мы сопоставили полный набор из четырех строк, на случай, если у вас круглые скобки будут выглядеть иначе. Обратите внимание, что это конкретно предполагает, что третья и четвертая строки пусты. Если вы хотите разрешить символы в этих строках, используйте вместо этого:

^[^)]*\('[^']*',\s*'([^']*)'(?:,\s*'[^']*'){2}\),?\s*$

Желаю вам отличной недели!

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