2012-03-20 6 views
2

Я хочу, чтобы удалить все строки, которые содержат слово «ложное»удалить строку, которая содержит определенное слово

Например, если у меня есть текстовый файл, который содержит следующее:

Перед

[email protected]|J|1983>2012>3000|Good|[0=%] 
[email protected]|N|1985>2012>3000|False|[~~~'#'***+++~~~] 
[email protected]|N|1985>2012>3000|Good|[$"$!]|Number 2123 

После

[email protected]|J|1983>2012>3000|Good|[0=%] 
[email protected]|N|1985>2012>3000|Good|[$"$!]|Number 2123 

Какой г egex Я должен использовать в Notepad ++ для удаления нежелательных строк?

+0

Что вы имеете в виду "плохой линии"? –

+0

Прочтите первый commect => удалить все строки, содержащие слово «False». Спасибо – Eule2000

+0

Ничего, я не понимаю этого Regexthing, я смотрю на Google, но не нашел то, что искал, поэтому прошу здесь помочь – Eule2000

ответ

3

Его, вероятно, так же просто, как идти в меню Блокнот инструментов ++ и вдаваясь в текст для поиска, то оговорить удалить каждую строку он находит его.

В противном случае нормальное регулярное выражение для выявления всей линии может быть что-то вроде это -

повтор

Если по умолчанию точка, как и все, кроме символа новой строки, то это

(.) 0

еще, это

[^\n]*False[^\n]*\n?

Они должны соответствовать целую строку (плюс символ новой строки), если 'False' на линии.
Все, что больше похоже на «Ложное», должно быть окружено разделителями, является дополнительной логикой.

+0

Это работает для меня! :) – calbertts

1

Вы не можете. Блокнот ++ does not support mixing RegExps with line ends

Снятие конца линии или соединение линий возможно только в расширенном режиме.

,

"расширенном" вариант показывает \ п и \ г как символы, которые могут быть согласованы. Как и в обычном режиме поиска, Notepad ++ ищет точный символ.

+0

Теперь он делает: Notepad ++ 6.0 отсутствует: см. Http://stackoverflow.com/a/133989/6309 – VonC

1

Вы не можете сделать это с помощью регулярного выражения за один шаг, но с помощью закладок есть двухэтапный процесс.

В диалоговом окне «Найти» есть опция «Закладка», которая может использоваться, среди прочего, для маркировки строк, соответствующих вашему запросу для удаления. В новых версиях Notepad ++ это было перемещено на вкладку «Отметить» диалоговое окно «Поиск».

После того, как нужные закладки были отмечены закладкой, в строке меню выберите «Поиск»> «Закладка»> «Удалить закладки». Как следует из названия, это приведет к удалению всех строк, отмеченных в предыдущем поиске.

11

Последняя версия Notepad++ (v6.0) поддерживает PCRE, так что вы можете сделать:

поиск: .*?False.*\r?\n
заменить: nothing

+1

+1. Я упомянул об этом в http://stackoverflow.com/a/133989/6309 – VonC

Смежные вопросы