У меня есть текстовый файл со строками, похожими на приведенные ниже:('8510851205', 'needthishere', '', ''), он мне нужен, чтобы удалить все и оставить только эту потребность в каждой строке. Как бы я это сделал?
2 ответа
Вот что я бы сделал.
- Поиск (режим поиска: регулярное выражение):. ',\ S' Заменить на: \ n
- В окне поиска на вкладке "Пометить" отметьте галочкой все строки с апострофом
- а) В меню "Поиск" выберите "Закладка", затем "Обратная закладка"
- а) На этом этапе у вас должны быть две закладки в закладки; Вы можете вернуться к тому же меню Поиск -> Закладка и вырезать / скопировать строки с закладками
3b) В меню поиска выберите "Удалить отмеченные строки", в результате чего останутся только те биты, которые вас интересуют.
3b.
Вот простое регулярное выражение, которое вы ищете.
В N++ выберите вкладку "Заменить" в окне "Найти".Установите флажок "Регулярные выражения".
Найти:
^[^)]*\('[^']*',\s*'([^']*)'(?:,\s*''){2}\),?\s*$
Заменить:
\1
Нажмите кнопку "Заменить все".
В качестве примера я запустил этот файл:
('8510851205', 'needthishere', '', '')
('2120986452', 'slthornton', '', ''),
('2121111111', 'strict_daddy4u', '', '')
Выход:
needthishere
slthornton
strict_daddy4u
Я мог бы сделать его короче, но хотел убедиться, что мы сопоставили полный набор из четырех строк, на случай, если у вас круглые скобки будут выглядеть иначе. Обратите внимание, что это конкретно предполагает, что третья и четвертая строки пусты. Если вы хотите разрешить символы в этих строках, используйте вместо этого:
^[^)]*\('[^']*',\s*'([^']*)'(?:,\s*'[^']*'){2}\),?\s*$
Желаю вам отличной недели!