2010-10-05 76 views
281

Làm cách nào để thay thế các dòng trống trong Notepad ++? Tôi đã thử tìm và thay thế bằng các dòng trống trong tìm kiếm, và không có gì thay thế, nhưng nó không hoạt động; nó có thể cần regex.Xóa các dòng trống trong Notepad ++

Trả lời

317

Bạn cần thứ gì đó giống như cụm từ thông dụng.

Bạn phải ở chế độ Extended

Nếu bạn muốn tất cả các dòng để kết thúc trên một đơn dòng sử dụng \r\n. Nếu bạn chỉ muốn xóa dòng trống, hãy sử dụng \n\r làm @Link được đề xuất ban đầu.

Thay thế biểu thức không có gì.

+15

đầu tiên nên chọn 'extended' trong chế độ tìm kiếm. – q0987

+0

Cần lưu ý rằng việc thay thế tất cả trên '\ r \ n \ r \ n' có thể làm cho 2 dòng của bạn được nối với nhau. '23' Văn bản trên dòng 23!' \ R \ n' '24 \ r \ n'' 25 \ r \ n' '26'Mô tả 26 văn bản.'r \ n' có thể được nén thành' 23' Văn bản trên dòng 23! Dòng 26 văn bản. –

+6

Để các dòng của bạn không được nối với nhau, bạn phải tìm kiếm '\ r \ n \ r \ n' và thay thế bằng' \ r \ n'. –

13

Trong notepad ++ nhấn CTRL + H, trong chế độ tìm kiếm, nhấp vào nút radio "Mở rộng (\ n, \ r, \ t ...)" rồi nhập vào hộp "Tìm gì": \ r \ n (ngắn cho CR LF) và rời khỏi "Replace with" hộp rỗng ..

Cuối cùng nhấn thay thế tất cả

+0

typo xin lỗi về điều đó .. – Bassem

+0

thực sự, tôi đã thử nó, xem làm rõ của tôi trong câu trả lời của tôi. * Bạn đã được một cái gì đó!* – Brad

+3

Điều này giả định kết thúc dòng là Windows (CRLF) mặc dù, nếu tệp của bạn được lưu với kết thúc dòng Unix chỉ tìm kiếm cho '\ n'. – BoltClock

10

Vâng tôi không chắc chắn về regex hoặc tình huống của bạn ..

Làm thế nào về tổ hợp phím CTRL + A, Chọn menu TextFX -> TextFX Edit -> Delete Blank Lines và viola tất cả các dòng trống đều biến mất.

Một mặt lưu ý - nếu dòng là trống ví dụ: không chứa khoảng trắng, điều này sẽ làm việc

121

Có một plugin có thêm một menu quyền TextFX. Trình đơn này, nơi chứa một loạt các tùy chọn chỉnh sửa văn bản nhanh chóng, cho phép một người có khả năng thực hiện các thay đổi mã hóa nhanh chóng. Trong menu này, bạn có thể tìm thấy các lựa chọn như Drop Quotes, Xóa dòng trống cũng như Unwrap và rewrap chữ

Làm như sau:

TextFX > TextFX Edit > Delete Blank Lines 
TextFX > TextFX Edit > Delete Surplus Blank Lines 
+18

cho bất cứ ai, như tôi, những người không thể tìm thấy điều này, nó là một plugin bạn cài đặt, và nó hoạt động như một say mê. ;-) – yitwail

+6

Không chắc chắn khi nào, nhưng có vẻ như plugin này được cài đặt theo mặc định ngay bây giờ. Hơi off-topic, nhưng một trong những tính năng cực kỳ hữu ích khác, trong 'TextFX> TextFX Tools', là sắp xếp dòng, tùy ý loại bỏ các bản sao. Rất tiện dụng để thực hiện một Unix 'sort -u' trên một hộp Windows không có Cygwin hoặc Unxutils hoặc tương tự. –

+2

[Đây là liên kết đến Plugin TextFx.] (Http://sourceforge.net/projects/npp-plugins/files/TextFX/) Tôi thấy nó rất hữu ích. Sử dụng: 'Cài đặt> Nhập> plugin ...' và tìm tệp dll để cài đặt. Nó trở thành một mục menu của 'Plugins' –

9

Ctrl + H.

tìm - \ r \ r thay thế bằng - \ r.

+0

Điều này làm việc cho tôi, loại bỏ dòng thừa, theo nghĩa tìm kiếm double \ r thay thế bằng đơn \ r. Cảm ơn!! – genpet

+0

Điều này làm việc tốt, tuy nhiên tôi thấy rằng tôi cần phải chạy nó nhiều lần trong tài liệu của tôi trước khi tất cả các trường hợp của \ r \ r đã biến mất. Tôi không chắc tại sao. – Hawkwing

6

Điều này rõ ràng không hoạt động nếu các dòng trống chứa tab hoặc khoảng trắng. Nhiều trang web (ví dụ: http://www.guardian.co.uk/) chứa các dòng màu trắng này, là kết quả của trình chỉnh sửa HTML bị lỗi.

Xóa khoảng trống màu trắng sử dụng biểu thức chính quy như sau:

thay đổi mẫu: [\ t] + $ vào gì cả.

trong đó [\ t] khớp với tab hoặc không gian. '+' khớp với một hoặc nhiều lần xuất hiện và '$' đánh dấu kết thúc của dòng.

Sau đó, sử dụng notepad ++/textFX để xóa một hoặc nhiều dòng trống. Đảm bảo rằng các dòng trống này không đáng kể trong ngữ cảnh đã cho.

0

Một thay thế dễ dàng để loại bỏ khoảng trắng từ dòng trống:

  1. TextFX> TextFX Edit> Trim Trailing Spaces

Điều này sẽ loại bỏ tất cả dấu không gian, bao gồm cả dấu không gian trong dòng trống. Đảm bảo rằng không có khoảng trống ở cuối nào đáng kể.

57
  1. notepad ++
  2. Ctrl-H
  3. Chọn Regular Expression
  4. Nhập ^[ \t]*$\r?\n vào tìm, rời thay thế trống. Điều này sẽ phù hợp với tất cả các dòng bắt đầu với khoảng trắng và kết thúc với dấu xuống dòng (trong trường hợp này là cửa sổ crlf)
  5. Nhấp vào nút Tìm tiếp theo để xem cho bạn cách nó chỉ khớp với các dòng trống.
+1

Tôi đã phải sử dụng phương pháp này thay vì một số phương pháp khác để làm cho nó dễ dàng làm việc trong một macro. Cảm ơn bạn. –

+0

Phương pháp này cũng làm việc cho tôi. Cảm ơn. –

+0

thậm chí ngắn hơn và ít thay thế cần thiết vì nhiều dòng trống sẽ được thay thế cùng một lúc:^\ s * $ \ r? \ N – njank

3
  1. Sửa >> Operations Trống >> Trim ở đầu và đuôi Spaces (để loại bỏ các tab màu đen và khoảng trống trong dòng trống)
  2. Ctrl +H để có được thay thế cửa sổ và thay thế mẫu: không có gì (chọn biểu thức chính quy)

Lưu ý: bước 1 sẽ loại bỏ mã intendation bạn thực hiện thông qua các tab và không gian trống

3

CTRL + A, Chọn menu TextFX -> Chỉnh sửa TextFX -> Xóa các dòng trống như đề xuất ở trên.

Nhưng nếu dòng chứa một số khoảng trắng, sau đó di chuyển con trỏ đến dòng đó và thực hiện CTRL + H. "Tìm gì:" giây sẽ hiển thị khoảng trống và trong phần "Thay thế bằng", để trống. Bây giờ tất cả các không gian được loại bỏ và bây giờ thử CTRL + A, Chọn menu TextFX -> TextFX Edit -> Xóa dòng trống

391

Hiện nay, một cách built-in để làm điều này như các phiên bản 6.5.2

Edit -> Line Operations -> Remove Empty Lines hoặc Remove Empty Lines (Containing Blank characters)

Screenshot of removing empty lines

+13

Siêu tuyệt vời +1 –

+12

Đây là cách đơn giản nhất. – Pupil

+3

nếu bạn đang sử dụng phiên bản Notepad ++ gần đây, bạn chắc chắn nên sử dụng mẹo này. – amenthes

0

Một vài trong số các biểu thức ở trên và các biểu thức kéo dài không làm việc cho tôi, nhưng các biểu thức chính quy "$ \ n $" đã làm.

9

Bạn có thể tìm kiếm các regex sau: ^(?:[\t ]*(?:\r?\n|\r))+ và thay thế bằng cánh đồng trống

4

enter image description here

Đôi khi \ n \ r vv không làm việc, ở đây để con nó ra, những gì biểu hiện thực sự thường xuyên của bạn nên được .

Lợi thế của mẹo này: Nếu bạn muốn thay thế trong nhiều tệp cùng một lúc, bạn phải có phương pháp này. Ở trên sẽ không hoạt động ...

1

/n/r giả định một loại ngắt dòng cụ thể.Để nhắm mục tiêu bất kỳ dòng trống nào bạn cũng có thể sử dụng:

^$ 

Điều này nói - mọi dòng bắt đầu và sau đó kết thúc bằng không có gì giữa. Đây là nhiều hơn của một catch-tất cả. Thay thế bằng cùng một chuỗi rỗng.

11

này đã làm việc cho tôi:

  1. Nhấn ctrl + h (Shortcut cho thay thế)
  2. Viết một trong những regex sau trong find what hộp. [\n\r]+$ hoặc ^[\n\r]+
  3. Để lại Replace with hộp trống
  4. Trong Search Mode, chọn Regex
  5. Bấm vào Replace All

    Xong!
+0

Đây là giải pháp duy nhất không làm hỏng các tệp .csv khổng lồ của tôi. Cảm ơn! – VME

+0

Chào mừng @VME :) –

1

Tôi không thấy các kết hợp một là câu trả lời, vì vậy tìm kiếm^\ s + $ và thay thế bởi {gì}

^\s+$ means 
^start of line 
    \s+ Matches minimum one whitespace character (spaces, tabs, line breaks) 
    $ until end of line 
+0

nếu bạn muốn nhiều dòng bạn có thể thử: '^ \ s +^(\ S)' và thay thế bằng '\ 1'. – jiggunjer

0
  1. Nhấn ctrl + h (Shortcut cho thay thế).
  2. Trong Tìm khu vực, nhập ^\R (đối với các dòng trống chính xác) hoặc ^\h*\R (chỉ dành cho các dòng trống có khoảng trống).
  3. Để lại Thay thế bằng vùng trống.
  4. Kiểm tra Quấn quanh tùy chọn.
  5. Chọn Biểu thức chính quy chế độ tìm kiếm.
  6. Nhấp vào nút Thay thế tất cả.

enter image description here

Các vấn đề liên quan