Удалить все строки, начинающиеся с символа # или; в Notepad++



используя Notepad++, как удалить все строки, начинающиеся с # или ;?

2162   5  

5 ответов:

найти:

^[#;].*

заменить нечем. Элемент ^ указывает на начало строки [#;] это класс символов, чтобы соответствовать либо # или ; и .* соответствует все остальное в строке.

в версиях Notepad++ до 6.0 вы не сможете фактически удалить строки из-за ограничения в его механизме регулярных выражений; замена приводит к пустым строкам для каждой строки. Другими словами, это:

# foo
; bar
statement;

получится в:



statement;

однако замена будет работать в Notepad++ 6.0, если вы добавите \r,\n или \r\n до конца шаблона, в зависимости от того, какая строка заканчивается ваш файл использует, в результате чего:

statement;

как отмечали другие, в Notepad++ 6.0 и более поздних версиях можно использовать функцию" заменить "для удаления всех строк, начинающихся с"; "или"#".

Tao предоставляет регулярное выражение, которое служит отправной точкой, но оно не учитывает пробел, который может существовать перед символом ";" или "#" в данной строке. Например, строки, которые начинаются с"; "или"#", но являются" вкладками", не будут удалены при использовании регулярного выражения Tao,^(#|;).*\r\n.

Тау регулярное выражение также не учитывает оговорку, упомянутую в ответе BoltClock: отклонения в символах новой строки в разных системах.

улучшение заключается в использовании ^(\s)*(#|;).*(\r\n|\r|\n)?, что объясняет ведущие пробелы и отклонения символов новой строки. Кроме того, трейлинг ? обрабатывает случаи, в которых последняя строка файла начинается с # или ;, но не заканчивается символом новой строки.

для любопытных, можно различить, какой тип новой строки символ используется в данном документе (и может использоваться более одного типа): Вид -> Показать символ -> показать конец строки.

возможно, но не напрямую.

короче говоря, перейдите к поиску, используйте свое регулярное выражение, установите флажок " отметить строку "и нажмите"Найти все". Это приводит к закладкам для всех этих строк.

в меню поиска есть пункт "Удалить закладки линий" вуаля.

Я нашел ответ здесь (правильный ответ-второй, не принимаются!): как удалить определенные строки в Notepad++?

может быть, вы должны попробовать

^[#;].*$

^ соответствует началу,$ конец.

в Notepad++ вы можете использовать вкладку Mark в диалоге Find для закладки всех строк, соответствующих вашему запросу, который может быть регулярным или обычным (подстановочный знак).

затем используйте поиск > закладка > удалить закладки строк.

Comments

    Ничего не найдено.