Thêm ký tự cho mỗi số thông qua Regex trong Notepad ++


10

Tôi có một câu hỏi rất cơ bản mà tôi không thể hiểu được. Tôi có một tài liệu văn bản như thế này:

This is 5 a test!
This 3 is a test!
This is a 9 test!

và tôi muốn nó trông như thế này:

This is 5c a test!
This 3c is a test!
This is a 9c test!

Có nghĩa là tôi muốn thêm 'c' vào mỗi số tôi tìm thấy. Tôi đã thử điều này:

Find what: [0-9]+]
Replace with: $1c
Search Mode: Regular expression

nhưng rõ ràng là tôi đang làm gì đó sai vì nó không hoạt động. Trợ giúp sẽ được đánh giá cao. Cảm ơn bạn!


3
Chỉ tò mò thôi: Tại sao bạn lại thử [0-9]+]với những dấu ngoặc lạ đó?
Heinzi

2
@Heinzi cá cược đó là một lỗi đánh máy trong câu hỏi, đưa ra sự gần gũi của +, ]Entertrên nhiều bàn phím.
Các cuộc đua nhẹ nhàng trong quỹ đạo

Câu trả lời:


26

Bạn gần như đã hiểu đúng.

Bạn muốn tìm kiếm ([0-9]+)
và thay thế bằng$1c

Bạn sử dụng ( )để tạo một nhóm chụp, vì vậy $ 1 hoạt động.

Ngoài ra, bạn có thể thay thế bằng $0cthay vào đó, sau đó bạn không cần sử dụng nhóm chụp.


2
Nó hoạt động hoàn toàn tốt. Cảm ơn bạn rất nhiều;)
user3877230

Chỉ tò mò nếu có một sự khác biệt trong mô hình đó và tìm kiếm \d+?
BruceWayne

2
@BruceWayne Tùy thuộc vào hương vị regex yoru, \dcó thể khớp các chữ số Unicode từ các tập lệnh khác . Lưu ý rằng đây không phải là trường hợp của PCRE, đây rõ ràng là những gì Notepad ++ sử dụng. Trong mọi trường hợp, tôi thường ưu tiên \dnếu tôi muốn các chữ số, nhưng [0-9]nếu tôi rõ ràng muốn các ký tự đó (ví dụ: khi cạo một định dạng được xác định giới hạn ở các ký tự ASCII).
Bob

Thật vậy, họ cũng sẽ làm việc như vậy. Tôi đã giữ cú pháp [0-9] vì OP đã thử điều đó và câu trả lời khác sử dụng \ d.
LPChip

13
  • Ctrl+H
  • Tìm cái gì: \d+
  • Thay bằng: $0c
  • kiểm tra Bọc xung quanh
  • kiểm tra biểu thức chính quy
  • Replace all

Kết quả cho ví dụ đã cho:

This is 5c a test!
This 3c is a test!
This is a 9c test!

Không quấn quanh làm gì?
Ooker
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.