“.” Olmadan satırları nasıl silebilirim? Notepad ++ içinde mi? [çiftleme]


12

Notepad ++, biçiminde birçok satır var:

abc.xyz

burada "abc", boşluk veya - veya sayı içerebilir.

"." Olmadan satırları nasıl silebilirim? Yani bir satırda "." Yoksa, tamamen kaldırılmasını ve boş satır bırakmamasını istiyorum.

Yanıtlar:


40

Olmadan satırları nasıl silebilirim .?

  • "Ara"> "Değiştir" (veya Ctrl+ H) menüsü

  • "Ne bul" seçeneğini ^[^\.]*\r\n

    • Sen değiştirebilirsiniz \r\nbenim dosya kullanımlarını EOL 'larla ne umurumda değil" "? Ne yapabilirim, benim dosyasında farklı bir EOL var" farklı EOL (Hat Sonu) (bkz Dosyanda EOL' larla bağlı düzenli ifadelerle ve , ne yapabilirim? "
  • "Şununla değiştir" seçeneğini temizle

  • "Normal ifade" yi etkinleştir

  • "Tümünü Değiştir" i tıklayın

    görüntü

Notlar:

  • Yukarıdaki, dosyadaki son satırın sonunda bir EOL olduğunu varsayar.

  • Yukarıdakiler ayrıca Windows EOL'leri olan bir metin dosyasını düzenlediğinizi varsayar \r\n.

Önce :

abc.xyz
abcdef
abc 123.xyz
abc 123def

Sonra :

abc.xyz
abc 123.xyz

Dosyamda farklı bir EOL var, ne yapabilirim?

  • Windows EOL \r\n.

  • Farklı bir EOL'ye sahip dosyalar kullanıyorsanız, bunları Menü "Düzenle"> "EOL Dönüştürme" kullanarak Windows EOL'lara dönüştürebilirsiniz.

  • Windows EOL'lerle çalışmıyorsanız ve bunları dönüştürmek istemiyorsanız bunun yerine aşağıdakileri kullanın:

    • Unix / OS X EOL \nyerine kullanın\r\n

    • Mac OS (sürüm 9'a kadar) EOL \ryerine kullanın\r\n


Dosyamın hangi EOL'leri kullandığını bilmiyorum veya umursamıyorum, ne yapabilirim?

  • Sen kullanabilirsiniz \Rya (?:\r\n?|\n)ya (?:\r?\n?)yerine \r\n. Bu, aslında dosyada kullanılan EOL'lerle ilgili herhangi bir sorunu çözer.

  • Ayrıca kullanabilirsiniz (?:\r?\n?|$). Dosyanın son satırında EOL yoksa bu ifade çalışır.


daha fazla okuma


5
Herhangi bir satır kesme ile eşleşmek için \ R kullanabilirsiniz.
user694733

@ user694733 Lütfen açıklayınız? \rWindows'taki EOL ile eşleşmiyor. Eğer çıkarırsanız \nboş çizgiler kalır. OP "Ben tamamen kaldırılmasını istiyorum, boş bir satır bile bırakmasın."
DavidPostill

Büyük harf R. N ++, hafızam bana doğru hizmet ediyorsa bunu özel bir karakter sınıfı olarak kullanan PCRE kullanır.
user694733

@ user694733 Ah. TAMAM. Test edildi ve işe yarıyor.
DavidPostill

regex101.com regexexr daha öğrenme regexexr için daha iyi bir sitedir
kedi

14

Kabul edilen cevap doğrudur, ancak her zaman hazır regexiniz olmayacaktır. Bu yüzden daha basit bir çözüm sunuyorum.

  1. Ctrl+ F- İşaretle sekmesine tıklayın
  2. "Ne bul" seçeneğini .
  3. "Yer imi satırı" seçeneğini işaretleyin (Wrass'ın izniyle)
  4. Arama modu = Normal
  5. Tümünü İşaretle -> Yer işaretli satır numaralarının yanında mavi bir daire görmelisiniz.
  6. Ardından Ara -> Yer İşareti -> İşaretlenmemiş Satırları Kaldır menüsüne gidin.

Bu hoş ve basit bir alternatiftir, ancak İşaretle iletişim kutusundaki 'Yer imi satırı' seçeneğini de işaretlemeniz gerektiğini belirtmek isteyebilirsiniz. Bunun yapılmaması, tüm satırların kaldırılmasına neden olur.
Wrass

İyi bir nokta, not defterim son kez hatırladı, bu yüzden unutmuşum.
Zikato

Her zaman regex kullanıyorum, ama yine de basitliği için bu yöntemi kullanacağım. Yasal Uyarı: Ben de Notepad ++ çeşitli yer imi işlevlerini çok kullanın.
JPhi1618

Biçimlendirmenizden memnun olmadığınız için, daha hoş bulacağınızı düşündüğüm bir düzenleme gönderdim. Kabul etmiyorsanız, reddetmekten veya geri dönmekten çekinmeyin.
jpmc26
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.