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ó lẽ cần regex.
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ó lẽ cần regex.
Câu trả lời:
Bạn cần một cái gì đó giống như một biểu thức thông thường.
Bạn phải ở trong Extended
chế độ
Nếu bạn muốn tất cả các dòng kết thúc trên một dòng sử dụng \r\n
. Nếu bạn chỉ muốn xóa các dòng trống , hãy sử dụng \n\r
như @Link đề xuất ban đầu.
Thay thế một trong hai biểu thức bằng không có gì.
\r\n\r\n
và thay thế bằng \r\n
.
\r\n\W*\r\n
và thay thế bằng\r\n
(\r\n|\r|\n)(\s*(\r\n|\r|\n))+
và thay thế bằng \r\n
xem nó hoạt động ở đây: regex101.com/r/qD9dB1/1
Hiện tại đã có một cách tích hợp để thực hiện việc này kể từ phiên bản 6.5.2
Edit -> Line Operations -> Remove Empty Lines
hoặc là Remove Empty Lines (Containing Blank characters)
Có một plugin có thêm một menu có tên TextFX
. Menu này, chứa một loạt các tùy chọn chỉnh sửa văn bản nhanh chóng, mang đến cho một người 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ư Thả dấu ngoặc kép, Xóa dòng trống cũng như Unwrap và Rewrap Text
Làm như sau:
TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines
TextFX > TextFX Tools
, là sắp xếp dòng, tùy ý loại bỏ trùng lặp. Cách rất thuận tiện để thực hiện Unix sort -u
trên hộp Windows mà không cần cygwin hoặc unxutils hoặc tương tự.
Settings > Import > plugin...
và tìm tập tin dll để cài đặt nó. Nó trở thành một mục menu củaPlugins
^[ \t]*$\r?\n
vào tìm cái gì, để trống thay thế. Điều này sẽ khớp với tất cả các dòng bắt đầu bằng khoảng trắng và kết thúc bằng trả về vận chuyển (trong trường hợp này là cửa sổ crlf)^\R
(cho các dòng trống chính xác) hoặc ^\h*\R
(chỉ cho các dòng trống có khoảng trống).Điều này làm việc cho tôi:
ctrl + h
(Phím tắt để thay thế)find what
hộp.
[\n\r]+$
hoặc là^[\n\r]+
Replace with
trống ôSearch Mode
, chọnRegex
Replace All
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 ...)" sau đó nhập vào hộp "Tìm gì": \ r \ n (viết tắt của CR LF ) và để trống ô "Thay thế bằng" ..
Cuối cùng nhấn thay thế tất cả
\n
.
Ctrl + H.
tìm - \ r \ r thay thế bằng - \ r.
Điều này rõ ràng không hoạt động nếu các dòng trống chứa các tab hoặc khoảng trống. Nhiều trang web (ví dụ: http://www.guardian.co.uk/ ) chứa các dòng trắng này, là kết quả của trình soạn thảo HTML bị lỗi.
Xóa khoảng trắng bằng biểu thức chính quy như sau:
thay đổi mẫu: [\ t] + $ thành không có gì.
trong đó [\ t] khớp với tab hoặc dấu cách. '+' khớp với một hoặc nhiều lần xuất hiện và '$' đánh dấu sự kết thúc của dòng.
Sau đó sử dụng notepad ++ / textFX để xóa các dòng trống đơn hoặc thêm. Hãy chắc chắn rằng những dòng trống này không đáng kể trong bối cảnh nhất định.
1) Ctrl + H
(Hoặc Search 🠆 Replace..
) để mở cửa sổ Thay thế.
2) Chọn 'Search Mode'
'Biểu thức chính quy'
3) Trong 'Tìm gì loại ^(\s*)(.*)(\s*)$
& trong 'Replace With' loại\2
^
- Trận đấu bắt đầu của ký tự dòng(\s*)
- Phù hợp với các ký tự không gian trống(.*)
- Phù hợp với bất kỳ nhân vật(\s*)
- Ghép các ký tự khoảng trống$
- Khớp cuối ký tự\2
- Biểu thị các đối số phù hợp của khung thứ 2Tham khảo https://www.rexegg.com/regex-quickstart.html để biết thêm về regex.
^\r\n
không có gì (chọn biểu thức chính quy)Lưu ý: bước 1 sẽ xóa ý định mã của bạn được thực hiện thông qua các tab và khoảng trắng
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 các 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. Phần "Tìm gì:" 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 khoảng trắng đã được xóa và bây giờ hãy thử CTRL + A, Chọn menu TextFX -> Chỉnh sửa TextFX -> Xóa các dòng trống
Tôi không thấy câu kết hợp là câu trả lời, vì vậy hãy tìm kiếm ^ \ s + $ và thay thế bằng {nothing}
^\s+$ means
^ start of line
\s+ Matches minimum one whitespace character (spaces, tabs, line breaks)
$ until end of line
^\s+^(\S)
và thay thế bằng \1
.
Một thay thế dễ dàng để loại bỏ khoảng trắng từ các dòng trống:
Điều này sẽ loại bỏ tất cả các dấu cách, bao gồm cả các dấu cách trong các dòng trống. Hãy chắc chắn rằng, không có dấu cách là đáng kể.
công việc này đối với tôi:
SEARCH:^\r
REPLACE: (empty)
\n
và windows eol\r\n