Hapus baris kosong dalam teks menggunakan Visual Studio


Jawaban:


174

Karena Visual Studio 2012 mengubah sintaks regexnya, jawaban asli oleh Ala diterjemahkan menjadi yang berikut di VS 2012:

Hapus satu baris kosong

Tua:

^:b*$\n

Baru:

^(?([^\r\n])\s)*\r?$\r?\n

Visual Studio 2013 (terima kasih kepada BozoJoe dan Joe Johnston):

^\s*$\n

Hapus garis kosong ganda

Tua:

^:b*\n:b*\n

Baru:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

Gulung langsung dari lidah Anda.

Ini lembar konversi dari MSDN.


13
vs2013: ^ \ s + $ \ n
BozoJoe

Jawaban BozoJoe, bagi saya, juga bekerja dengan baik di VS2012 (Pembaruan 4)
BertuPG

5
^ \ s + $ \ n diubah menjadi ^ \ s * $ \ n memungkinkan untuk (tidak ada konten) umpan baris murni.
Joe Johnston

4
Bagaimana saya bisa membuat ini otomatis, seperti bekerja dengan CTRL + K + D?
ErTR

Apakah ini dimaksudkan untuk bekerja untuk string atau untuk kode di editor?
Kyle Delaney

114

Ini sangat berguna terutama jika Anda ingin mengatur atau membandingkan kode, terima kasih untuk orang-orang yang menjawab pertanyaan ini, saya mendapat jawabannya dari sini dan ingin membagikannya dengan Stackoverflow:

Visual Studio memiliki kemampuan untuk menghapus baris kosong dalam operasi penggantian menggunakan ekspresi reguler.

  • Klik Ctrl- H(ganti cepat)

  • Centang "Gunakan Ekspresi Reguler"

  • Dalam Temukan tentukan ^$\n

  • Dalam Ganti kotak hapus semuanya.

  • Klik "Ganti Semua"

Semua baris kosong akan dihapus.

Ekspresi reguler untuk baris kosong terdiri dari

Awal baris ^

Ujung garis $

Jeda baris \n

Perhatikan bahwa pada Windows biasanya garis akhir ditandai dengan 2 karakter - Pengembalian Carriage (CR, ASCII 13, \r) Line Feed (LF, ASCII 10, \n).

Regex untuk menghapus garis kosong yang / tidak benar - benar kosong (yaitu mereka memiliki / tidak memiliki spasi): ^:b*$\n

Untuk menghapus garis ganda: ^:b*\n:b*\nganti dengan:\n

* untuk Visual Studio 2013 dan lebih tinggi: *

^\s*$\n

dan untuk garis ganda:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

Lihat pembaruan sintaks ekspresi reguler untuk VS2012 dan di atas dalam jawaban @ lennart di bawah ini


Bekerja seperti pesona dengan membersihkan file XML di Visual Studio 2015. Adakah yang tahu cara membuat jalan pintas untuk menjalankan ini?
Leszek P

1
untuk Visual Studio 2012 dan di atasnya, periksa jawabannya di bawah ini
Alaa

1
Apakah ada cara untuk ini bekerja dengan formatter otomatis?
Kyle Delaney

19

Dalam Visual Studio 2013 (Versi 12.0.20623.01) saya menghapus garis kosong dengan ekspresi reguler ini ^\r\nDi layar Anda dapat melihat garis yang cocok ditunjukkan oleh kotak coklat.

Visual Studio 2013 mengganti baris kosong


Saya juga mencoba cara seperti itu, tetapi visual studio macet selama beberapa menit dan kemudian hanya menggantikan 1 kemunculan beberapa ratus yang saya miliki! lol :-D
BertuPG

17

Diuji dalam VS 2012 untuk memungkinkan umpan garis murni.

^\s*$\n 

hth


2
ini bekerja untuk saya di VS 2015, jawaban yang diterima sayangnya tidak
EdwardM

Bekerja di VS 2013 juga.
Joe Johnston

2
Bekerja dengan baik di VS 2017, jawaban yang diterima tidak.
Germstorm

Bekerja pada 2019 juga
Joe Johnston

17

Menggunakan Visual Studio 2017 ke atas

dalam Dokumen Saat Ini

gunakan jalan pintas

  • Buka Alat > Opsi atau tekan Alt+ T+O
  • Di bawah tab Environment > Keyboard
  • Cari " DeleteBlank " dan pilihEdit.DeleteBlankLines
  • Tambahkan pintasan baru misalnya Ctrl+ D, Ctrl+E
  • Tetapkan > OK

pilih semua teks dan tekan pintasan

masukkan deskripsi gambar di sini


Ini hanya menghapus baris kosong yang dipilih atau dari baris saat ini hingga baris non-kosong berikutnya. Ini bukan untuk keseluruhan dokumen atau proyek.
Jan

1
Coba pilih semua sebelum menjalankan perintah, maka itu akan berhasil.
Kris Morness

9

Untuk menghapus dua atau lebih baris kosong yang berdekatan dengan VS2012 gunakan ini:

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n

Saya sedang mencari solusi untuk mengganti dua baris kosong menjadi hanya satu. Ini bekerja untuk saya. Terima kasih!
Ricardo França

8

Saya menggunakan visual studio 2017, bukan yang di atas bekerja untuk saya sampai saya mencoba \n\r

Langkah:

  1. Ctrl + H (buka temukan dan ganti)
  2. Pilih gunakan ekspresi reguler (Alt + E)
  3. Masukkan \n\rinput "Temukan ..."
  4. Tekan ganti


2

Instal CodeMaid dan tekan Ctrl+M, Space' to clean up the code. (It formats the code, like Format DocumentCtrl + E, D`, juga). Anda dapat membersihkan lebih banyak file dari Solution Explorer.


1

Di VS 2012, string regex yang digunakan untuk menemukan dan mengganti semua baris kosong adalah ^ (? ([^ \ R \ n]) \ s) \ r? \ N


0

Ctrl+ K, Ctrl+ Dotomatis memformat dokumen saat ini dan yang menghilangkan ruang yang tidak perlu dalam kode Anda. Ini membantu menjaga kode Anda dapat dibaca jika itu yang Anda cari.


saya mereferensikan masalah saya, tolong lihat, itu terlihat, ini adalah sesuatu yang saya cari. stackoverflow.com/questions/44747909/… .
Vivek Shukla

1
Ini tidak menghapus garis kosong ganda / redeundan.
Jan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.