Bagaimana cara menghapus baris tertentu di Notepad ++?

94

Saya sedang membersihkan beberapa file kode (C #) dan ingin menghapus daerah. Dan saya ingin menghapus semua baris yang memiliki string '#region'. Itu hanya sebuah contoh, dan saya dapat memikirkan beberapa kegunaan lagi, tetapi apakah itu mungkin?

Rismo
sumber
2
Saya tergoda untuk memilih pertanyaan ini untuk keluar topik ... Ini terutama pertanyaan tentang notepad ++ dan pola kerja tertentu, tetapi belum tentu terkait dengan pemrograman: /
Andreas Niedermair
@AndreasNiedermair setuju
displayname

Jawaban:

39

Anda bisa menggunakan menu Search -> Replace ... ( Ctrl+ H).

Ini memiliki fitur ekspresi reguler untuk diganti. Anda dapat menggunakan regex yang cocok dengan #region serta apa pun yang ada di baris, dan menggantinya dengan ruang kosong.

John T
sumber
Terima kasih, saya melakukan itu dan berhasil. Tapi sekarang saya mencoba mengganti \ n \ n dengan hanya satu \ n tapi sepertinya tidak berhasil, ada ide?
Rismo
1
gunakan pencarian tambahan untuk mengganti urutan pelarian (tombol radio tepat di atas regex)
John T
Terima kasih John. Saya melakukan itu dan bekerja untuk satu baris baru \ n, tetapi tidak untuk dua baris. Saya mencari \ n \ n dan menggantinya dengan \ n, tapi tidak berhasil. Apakah ini berhasil untuk Anda?
Rismo
1
Jika Anda mengetik dokumen di windows, akhiran baris akan menjadi \ r \ n. Ujung garis gaya UNIX adalah \ n.
John T
5
Juga baru saja memperhatikan bahwa TextFx -> TextFx Edit -> Delete Surplus Blank Lines melakukan hal yang sama :)
Rismo
278

Notepad ++ v6.5

  1. Menu Search -> Find ... -> Mark tab -> Find what: teks pencarian Anda , centang Bookmark Line , lalu Mark All . Ini akan menandai semua baris dengan istilah pencarian, Anda akan melihat lingkaran biru di margin.

  2. Kemudian menu Search -> Bookmark -> Hapus Garis yang Ditandai . Ini akan menghapus semua baris yang di-bookmark.

Anda juga dapat menggunakan regex untuk menelusuri. Metode ini tidak akan menghasilkan baris kosong seperti milik John dan benar-benar akan menghapus baris tersebut.

Versi Lama

  1. Menu Search -> Find ... -> Find what: teks pencarian Anda , centang Bookmark Line dan klik Find All .
  2. Kemudian Cari -> Bookmark -> Hapus Garis yang Ditandai
sinar
sumber
8
Terima kasih! Wow, saya tidak menyadari bahwa NP ++ melakukan ini .. penghemat waktu yang hebat. Temukan & tandai garis + hapus garis. Hebat. Terima kasih!!
Matthew M.
Betapa salahnya
13
Ini adalah salah satu permata kecil yang saya temukan di mana saya berharap dapat memberi suara positif lebih dari 1. Saya tidak dapat memberi tahu Anda berapa banyak waktu yang telah saya buang selama bertahun-tahun tidak pernah menyadari bahwa ini tersedia! Satu-satunya masalah sekarang saya kira saya harus lebih produktif ...
Milner
1
Jika Anda mencari ini. 'Mark' sekarang memiliki tab sendiri di menu popup Pencarian.
bunnybare
1
@bunnybare, terima kasih. Saya memperbarui jawaban untuk versi terbaru.
Ray
4

Berikut adalah cara untuk menghapus sepenuhnya baris yang berisi "TULIS ANDA":

  • Buka dialog Ganti
  • Masukkan string pencarian berikut: .*YOURTEXT.*[\r]?[\n](ganti TEKS ANDA dengan teks Anda)
  • Aktifkan "Ekspresi reguler"
  • Nonaktifkan ". Kecocokan baris baru"

Ekspresi reguler yang diberikan cocok dengan akhir baris Windows dan Unix.

Jika teks Anda berisi karakter yang memiliki arti khusus untuk ekspresi reguler, seperti garis miring terbalik, Anda harus menghindarinya.

ocroquette.dll
sumber
Mengapa Anda menggunakan kelas karakter untuk satu karakter?
Toto
4

Ini adalah fitur Notepad ++ paling umum yang saya gunakan untuk memperbarui kode saya.

Yang perlu Anda lakukan hanyalah:

  • Pilih string umum yang ada di semua baris.
  • Tekan Ctrl+F
  • Di tab Tandai , tempel string berulang dan centang kotak Bookmark baris .
  • Klik Mark All
  • Sekarang masuk ke menu SearchBookmarkHapus Bookmarked Lines

Anda dapat merujuk ke tautan ini untuk penjelasan bergambar.

http://www.downloadorinstall.com/best-notepad-tips-and-tricks-for-faster-work-and-development/

Rishabh Pant
sumber
Tautan tampaknya rusak (atau mungkin membutuhkan kode JavaScript yang menakutkan untuk digunakan).
Peter Mortensen
2

Balasan Jacob untuk John T berfungsi dengan sempurna untuk menghapus seluruh baris, dan Anda dapat Temukan di File dengan itu. Pastikan untuk mencentang "Persamaan reguler" di bagian bawah.

Larutan: ^.*#region.*$

Nick
sumber
2
dia bilang dia ingin menghapus saluran itu, bukan menggantinya dengan sesuatu
felickz
1

Selidiki apa EOL Anda, \ n atau \ r \ n. Kemudian ganti .*#region.*\r\ndengan tidak ada dalam mode regexpr.

Val
sumber
0

Anda dapat mencoba mengganti #region dengan \ n, dengan mengaktifkan mode pencarian tambahan.

kutub Utara
sumber
2
OP mengatakan dia ingin "menghapus semua baris", Anda akan menggantinya dengan baris baru
felickz
0

Menggunakan regex dan menemukan & mengganti, Anda dapat menghapus semua baris yang berisi #region tanpa meninggalkan baris kosong. Karena untuk beberapa alasan metode Ray tidak berfungsi pada mesin saya, saya mencari (.*#region.*\n)|(\n.*#region.*)dan membiarkan kotak ganti kosong.

Regex itu memastikan bahwa jika #regionditemukan di baris pertama, baris baru yang berakhir dihapus, dan jika ditemukan di baris terakhir, baris baru sebelumnya dihapus.

Namun, solusi Ray lebih baik jika berhasil untuk Anda.

George
sumber