Вопрос Как удалить строки без «.» В Notepad ++? [Дубликат]


На этот вопрос уже есть ответ:

В Notepad ++ у меня много строк в формате:

abc.xyz

где «abc» может иметь пробел или - или цифры.

Как удалить строки без «.»? Поэтому, если в строке нет «.», Я хочу, чтобы она полностью удалялась, даже не оставляя пустую строку.


11
2018-02-21 16:35


происхождения




ответы:


Как удалить строки без .?

  • Меню «Поиск»> «Заменить» (или Ctrl + ЧАС)

  • Установите «Найти, что», чтобы ^[^\.]*\r\n

    • Вы можете заменить \r\n с различными регулярными выражениями EOL (End of Line) в зависимости от EOL в вашем файле (см. «У меня есть другой EOL в моем файле, что я могу сделать?» и «Мне все равно, что использует EOL мой файл, что может Я делаю? "Ниже).
  • Очистить "Заменить на"

  • Включить «Регулярное выражение»

  • Нажмите «Заменить все»

    Image

Заметки:

  • Вышеприведенное предполагает, что последняя строка в файле имеет конечный EOL.

  • Вышеупомянутое также предполагает, что вы редактируете текстовый файл с помощью Windows EOL, \r\n,

До:

abc.xyz
abcdef
abc 123.xyz
abc 123def

После:

abc.xyz
abc 123.xyz

У меня есть другой EOL в моем файле, что я могу сделать?

  • Windows EOL - это \r\n,

  • Если вы используете файлы с другим EOL, вы можете конвертировать их в Windows EOL с помощью меню «Изменить»> «Преобразование EOL».

  • Если вы не работаете с Windows EOL и не хотите их конвертировать, используйте вместо этого следующее:

    • использование \n вместо \r\n для Unix / OS X EOLs

    • использование \r вместо \r\n для Mac OS (до версии 9) EOL


Я не знаю, что EOL использует мой файл, что я могу сделать?

  • Вы можете использовать \R или (?:\r\n?|\n) или (?:\r?\n?) вместо \r\n, Это обостряет любую проблему с EOL, фактически используемыми в файле.

  • Вы также можете использовать (?:\r?\n?|$), Это выражение будет работать, если в последней строке файла нет EOL.


дальнейшее чтение


38
2018-02-21 17:22



Вы можете использовать \ R для соответствия любой линии. - user694733
@ user694733 Пожалуйста, объясните? \r не соответствует EOL в Windows. Если вы удалите \n у вас остались пустые строки. OP: «Я хочу, чтобы он полностью удалился, даже не оставил пустую строку». - DavidPostill♦
Uppercase R. N ++ использует PCRE, который имеет это как особый класс символов, если моя память служит мне правильной. - user694733
@ user694733 Ах. ОК. Протестировано, и это работает. - DavidPostill♦
regex101.com - лучший сайт для изучения регулярного выражения, чем regexexr - cat


Принятый ответ правильный, но вы не всегда будете иметь регулярное выражение при готовности. Поэтому я представляю более простое решение.

  1. Ctrl+F - нажмите на вкладку Mark
  2. Установите «Найти, что», чтобы .
  3. Опция «Закладка» (любезно предоставлена ​​Wrass)
  4. Режим поиска = Обычный
  5. Нажмите «Отметить все» -> Рядом с номерами с закладками вы увидите синий круг.
  6. Затем перейдите в меню Поиск -> Закладка -> Удалить немаркированные линии.

14
2018-02-22 09:44



Это хорошая простая альтернатива, однако вы можете упомянуть, что вы также должны проверить параметр «Закладка» в диалоговом окне «Марк». Несоблюдение этого требования приведет к все линии удаляются. - Wrass
Хорошо, мой блокнот вспомнил об этом с последнего раза, поэтому я забыл об этом. - Zikato
Я использую регулярное выражение все время, но я бы использовал этот метод для его простоты. Отказ от ответственности: я также часто использую различные функции закладки в Notepad ++. - JPhi1618
Поскольку вы были недовольны своим форматированием, я представил редактирование, которое, я думаю, вы найдете более приятным. Не стесняйтесь отклонять его или откатываться, если вы не согласны. - jpmc26