Notepad ++ tìm và thay thế chuỗi bằng một dòng mới


212

Xem xét kịch bản nơi bạn có một chuỗi cụ thể mà bạn muốn tìm và thay thế. Bạn muốn thay thế nó bằng một chuỗi mới có chứa một ký tự dòng mới (hoặc chuỗi ký tự).

abc123 xyz456-blah
fsafd23 xyz456-green
89hjkf23 xyz456-red
afdsa23 xyz456-yellow
abaac123 xyz456-orange

Trong kịch bản trên, tôi muốn tìm " xyz" và thay thế khoảng trắng bằng dòng hoàn trả / dòng mới.

Kết quả sẽ như sau:

abc123
xyz456-blah
fsafd23
xyz456-green
89hjkf23
xyz456-red
   ︙

Vân vân...

Câu hỏi: Làm thế nào bạn dễ dàng đạt được điều này nhất bằng Notepad ++? Có công cụ nào khác mà bạn đề xuất để dễ dàng thực hiện lệnh này không?

Câu trả lời:


279

Notepad ++ sẽ làm tốt

Chuỗi tìm kiếm:

 XYZ
Lưu ý không gian phía trước xyz.

Thay thế chuỗi:

\ r \ nxyz

Bạn cũng sẽ cần đặt "Chế độ tìm kiếm" thành "Mở rộng" (hộp nhóm bên trái phía dưới trong hộp thoại Thay thế ) để Notepad ++ tôn vinh mã thoát.


Một số nền tảng: "\ r \ n" là mã thoát cho vận chuyển trở lại, tiêu chuẩn cho các dòng mới trong Windows. Các hệ thống kiểu Unix sử dụng đơn giản \ n (dòng mới). Hầu hết các IDE, bao gồm Notepad ++, sẽ hiểu cả hai kiểu và mô tả chúng theo từng dòng mới, nhưng các tiện ích Windows cốt lõi không hiểu \ n tương đương với \ r \ n, do đó, kiểu sau thường phù hợp nhất nếu tệp được dự định được sử dụng trong môi trường Windows.


2
\ r \ n = Cú pháp dòng mới của Windows. Tuy nhiên, đối với mọi thứ khác ngoài notepad cũ, nó sẽ chấp nhận chỉ \ n cho một dòng mới (cũng thông thường hơn).
Macha

3
Cụm từ của bạn "thông thường hơn" là sai lệch. "\ r \ n" là tiêu chuẩn trên Windows. Chỉ có rất nhiều trình soạn thảo và IDE tình cờ nhận ra dòng tiêu chuẩn Unix / Linux kết thúc "\ n" và hiển thị tài liệu tương ứng. Không có gì về "\ n" khiến nó trở nên thông thường hơn.
Brian Lacy

Thành thật mà nói, phiên bản Win / DOS có ý nghĩa hơn đối với tôi. "\ r" có nghĩa là "Trả lại vận chuyển hoặc 'Trả lại vận chuyển / con trỏ về đầu dòng'" và "\ n" có nghĩa là "Tiến lên vận chuyển / con trỏ về phía trước một dòng". Tất nhiên, Unix đã xuất hiện 20 năm trước, vì vậy tôi đoán theo nghĩa đó, chính Microsoft đã phá vỡ tiêu chuẩn này.
Brian Lacy

7
điều này sẽ không hoạt động trừ khi bạn đặt chế độ tìm kiếm, như được chỉ định trong câu trả lời khác: superuser.com/questions
432451 / Đổi

7
Nếu bạn đang cố gắng thay thế chuỗi ký tự "\ r \ n" bằng một dòng mới thực sự, tôi phải thực hiện như sau: đặt chế độ tìm kiếm thành bình thường, tìm / thay thế \ r \ n bằng ***. Sau đó đặt chế độ tìm kiếm thành Mở rộng, tìm / thay thế *** bằng \ r \ n.
goku_da_master

61

Trong Notepad ++, nó rất dễ ...

  • Tìm: xyz
  • Thay thế bằng: \ n


  • Chế độ tìm kiếm: Mở rộng (\ n, \ t, v.v.)

Bí quyết là đặt chế độ tìm kiếm.


1
Câu trả lời này làm việc cho tôi, chấp nhận không. Phiên bản 5.8.6
bdwakefield

Có giống ở đây, câu trả lời được chấp nhận không chỉ định sử dụng chế độ mở rộng ..
Andy

Tại sao không \r\n(thay vì \n)?
Peter Mortensen

5

Tôi gian lận một chút khi các ký tự S & Ring mà tôi không thể nhập trực tiếp vào các trường văn bản (ví dụ: tab và dòng mới). Tìm một nơi nào đó trong tài liệu đã có ký tự đó, sau đó sao chép nó và dán nó vào trường thay thế.

Vì vậy, trong ví dụ của bạn, bắt đầu từ đầu của một dòng, nhấp, kéo đến cuối dòng trước, sao chép và dán nó vào hộp thoại Thay thế.


5

Trong hộp thoại "Thay thế", đảm bảo rằng trong Chế độ tìm kiếm, bạn đã chọn "Mở rộng". Sau đó nhập vào hộp tìm, nhập "xyz" và thay thế bằng "\ n".


1
Tại sao không \r\n(thay vì \n)?
Peter Mortensen

2

Đối với Notepad ++, thay đổi chế độ tìm kiếm thành Mở rộng, sau đó trong trường Thay thế bằng trường sử dụng \ n .


1
Tại sao không \r\n(thay vì \n)?
Peter Mortensen
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.