Xóa các dòng trống trong văn bản bằng Visual Studio


Câu trả lời:


173

Vì Visual Studio 2012 đã thay đổi cú pháp regex của nó, các câu trả lời ban đầu của Ala chuyển thành câu sau trong VS 2012:

Xóa các dòng trống đơn

Cũ:

^:b*$\n

Mới:

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

Visual Studio 2013 (nhờ BozoJoe và Joe Johnston):

^\s*$\n

Xóa hai dòng trống

Cũ:

^:b*\n:b*\n

Mới:

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

Cuộn ngay lưỡi của bạn.

Đây là bảng chuyển đổi từ MSDN.


13
vs2013: ^ \ s + $ \ n
BozoJoe

Đối với tôi, câu trả lời của BozoJoe cũng hoạt động tốt trong VS2012 (Cập nhật 4)
BertuPG

5
^ \ s + $ \ n đã thay đổi thành ^ \ s * $ \ n cho phép (không có nội dung) nguồn cấp dữ liệu thuần.
Joe Johnston

4
Làm cách nào tôi có thể thực hiện điều này tự động, như làm việc với CTRL + K + D?
ErTR

Điều này có nghĩa là để làm việc cho chuỗi hoặc cho mã trong trình soạn thảo?
Kyle Delaney

114

Điều này rất hữu ích, đặc biệt nếu bạn muốn sắp xếp hoặc so sánh mã, cảm ơn những người trả lời câu hỏi này, tôi đã có câu trả lời từ đây và muốn chia sẻ nó với Stackoverflow:

Visual Studio có khả năng xóa các dòng trống trong hoạt động thay thế bằng các biểu thức thông thường.

  • Bấm Ctrl- H(thay thế nhanh)

  • Đánh dấu vào "Sử dụng biểu thức chính quy"

  • Trong Tìm chỉ định ^$\n

  • Trong hộp Thay thế xóa mọi thứ.

  • Nhấp vào "Thay thế tất cả"

Tất cả các dòng trống sẽ bị xóa.

Biểu thức chính quy cho dòng trống bao gồm

Bắt đầu của dòng ^

Kết thúc dòng $

Ngắt dòng \n

Lưu ý rằng thông thường trong Windows, cuối dòng được chỉ định bởi 2 ký tự - \rNguồn cấp dữ liệu trở lại vận chuyển (CR, ASCII 13, ) (LF, ASCII 10, \n).

Một biểu thức chính để xóa các dòng trống / không thực sự trống (tức là chúng không / không có khoảng trắng): ^:b*$\n

Để xóa hai dòng: ^:b*\n:b*\nthay thế bằng:\n

* cho Visual Studio 2013 trở lên: *

^\s*$\n

và cho dòng đôi:

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

Xem các cập nhật cú pháp biểu thức chính quy cho VS2012 trở lên trong câu trả lời của @ lennart bên dưới


Hoạt động như một cơ duyên với việc làm sạch tệp XML trong Visual Studio 2015. Bất cứ ai cũng biết cách tạo một lối tắt để thực hiện việc này?
Leszek P

1
đối với Visual Studio 2012 trở lên, hãy kiểm tra câu trả lời bên dưới
Alaa

1
Có cách nào để làm việc với trình định dạng tự động này không?
Kyle Delaney

19

Trong Visual Studio 2013 (Phiên bản 12.0.20623.01) tôi đã xóa các dòng trống bằng biểu thức chính quy này ^\r\nTrong màn hình, bạn có thể thấy các dòng trùng khớp được chỉ định bởi các hình vuông màu nâu.

Visual Studio 2013 thay thế các dòng trống


Tôi cũng đã thử cách như vậy, nhưng phòng thu hình ảnh bị đóng băng trong vài phút và sau đó chỉ thay thế 1 lần xuất hiện vài trăm tôi có! lol :-D
BertuPG

17

Đã thử nghiệm trong VS 2012 để cho phép cung cấp dòng thuần.

^\s*$\n 

thứ


2
điều này hiệu quả với tôi trong VS 2015, câu trả lời được chấp nhận đã không may
EdwardM

Hoạt động trong VS 2013 là tốt.
Joe Johnston

2
Hoạt động tốt trong VS 2017, câu trả lời được chấp nhận không.
Bão tố

Hoạt động vào năm 2019 cũng vậy
Joe Johnston

17

Sử dụng Visual Studio 2017 trở lên

trong tài liệu hiện tại

sử dụng phím tắt

  • Mở Công cụ > Tùy chọn hoặc nhấn Alt+ T+O
  • Trong tab Môi trường > Bàn phím
  • Tìm kiếm " DeleteBlank " và chọnEdit.DeleteBlankLines
  • Thêm một lối tắt mới cho ví dụ Ctrl+ D, Ctrl+E
  • Chỉ định > OK

chọn tất cả văn bản và nhấn phím tắt

nhập mô tả hình ảnh ở đây


Điều này chỉ xóa (các) dòng trống đã chọn hoặc từ dòng hiện tại cho đến dòng không trống tiếp theo. Nó không dành cho toàn bộ tài liệu hoặc dự án.
Ngày

1
Hãy thử chọn tất cả trước khi chạy lệnh, sau đó nó sẽ hoạt động.
Kris Morness

9

Để xóa hai hoặc nhiều hàng trống liền kề với VS2012, hãy sử dụng:

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

Tôi đang tìm kiếm một giải pháp để thay thế hai dòng trống thành một. Nó làm việc cho tôi. Cảm ơn!
Ricardo França

8

Tôi đang sử dụng visual studio 2017, không phải cái nào ở trên làm việc cho tôi cho đến khi tôi thử \n\r

Các bước:

  1. Ctrl + H (mở tìm và thay thế)
  2. Chọn sử dụng biểu thức chính quy (Alt + E)
  3. Nhập \n\rvào đầu vào "Tìm ..."
  4. Nhấn thay thế


2

Cài đặt CodeMaid và nhấn Ctrl+M, Space' to clean up the code. (It formats the code, like Format DocumentCtrl + E, D`, cũng vậy). Bạn có thể dọn sạch nhiều tệp hơn từ Solution Explorer.


1

Trong VS 2012, chuỗi regex được sử dụng để tìm và thay thế tất cả các dòng trống là ^ (? ([^ \ R \ n]) \ s) \ r? \ N


0

Ctrl+ K, Ctrl+ Dtự động định dạng tài liệu hiện tại và loại bỏ không gian không cần thiết trong mã của bạn. Nó giúp giữ cho mã của bạn có thể đọc được nếu đó là những gì bạn đang tìm kiếm.


Tôi đang tham khảo vấn đề của tôi, xin vui lòng nhìn, nó đang tìm kiếm, đây là một cái gì đó tôi đang tìm kiếm. stackoverflow.com/questions/44747909/ cường .
Vivek Shukla

1
Điều này không loại bỏ các dòng trống đôi / dự phòng.
ngày
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.