Sử dụng tìm kiếm / thay thế ký tự đại diện trong Notepad ++


17

Đây là vấn đề của tôi: Trong tệp .txt, tôi cần tìm và thay thế hàng ngàn trường hợp cú pháp như thế này:

(xem (a053007djfgspwdf))

hoặc là

(xem (a053007djfgspwdf) và (a54134xsedgeg))

hoặc là

(xem (a053007djfgspwdf), (a9554xsdfgsdfg) và (a54134xsedgeg))

Có rất nhiều sự khác nhau giữa các chuỗi văn bản bắt đầu (xem (a và kết thúc )) . Điều này có thể được thiết lập trong Notepad ++ bằng regex không? Nếu vậy, làm thế nào tôi làm điều đó? Cảm ơn!

Câu trả lời:


17

Xin lỗi các bạn, tôi chỉ thấy những câu trả lời khác phức tạp. (Không có sự thiếu tôn trọng đối với các áp phích ban đầu.)

Vì đây luôn là kết quả tìm kiếm đầu tiên, tôi sẽ thêm nó vào:

  1. Mở hộp thoại tìm kiếm / thay thế ( CTRL+ Frồi tab thay thế)
  2. Đánh dấu vào "Biểu thức thông thường" ở phía dưới
  3. Sử dụng. * Làm ký tự đại diện

Ví dụ: tôi muốn xóa tất cả các trường hợp abp = "1314", abp = "1313", abp = "1312", v.v.

Trong hộp thoại thay thế:

Tìm trong cái gì: abp=".*"
Thay thế bằng:

(Bạn đang thay thế bất cứ điều gì trong các trích dẫn đó bằng không có gì để loại bỏ nó)

Nguồn: https : // www. Wasteweb.com.au/17226/general-tĩ/notepad-wildcard/


15

Có nó có thể! Notepad ++ có chế độ tìm kiếm RegEx mà bạn có thể chọn cho tất cả các nhu cầu thay thế RegEx của mình.

Ví dụ dưới đây là sự thay thế cơ bản cho mọi thứ giữa (see (a...))ngoại trừ ngắt dòng. Bạn có thể cần sửa đổi RegEx hoặc viết riêng của bạn để phù hợp với nhu cầu của bạn. Đây là một nơi tuyệt vời để giúp bạn cùng với thử nghiệm.

RegEx: \(see \(a.+\)\)

Chuỗi phù hợp:

(see (a053007djfgspwdf))
(see (a053007djfgspwdf) and (a54134xsedgeg))
(see (a053007djfgspwdf), (a9554xsdfgsdfg) and (a54134xsedgeg))


Thay thế (xem (a ...)) bằng thay thế


Cảm ơn! Nó tìm thấy các ví dụ của ví dụ đầu tiên (xem (a053007djfgspwdf)) nhưng không tìm thấy các ví dụ khác. Tuy nhiên, một khởi đầu tuyệt vời. Tôi sẽ chơi với nó để xem những gì tôi có thể làm. Nếu bạn có thêm gợi ý, tôi sẽ rất đánh giá cao nó. Cảm ơn một lần nữa.
Michael Tuck

Bạn đã nhấp vào Thay thế tất cả hoặc tiếp tục nhấp vào Thay thế để chuyển qua các kết quả tương tự như sử dụng Tìm tiếp theo ? Có phải văn bản bạn đang tìm kiếm chỉ bắt đầu bằng (see (avà kết thúc bằng ))? Nếu bạn có các chuỗi kết thúc bằng một dấu ngoặc đơn, bạn có thể biến chuỗi cuối cùng \)thành nhóm chụp (\)|)để khớp với các chuỗi kết thúc bằng ))"hoặc" ).
giờ vào

Đã thử một vài thay thế, sau đó Thay thế Tất cả. Sau đó, chuỗi tìm kiếm không tìm thấy gì. Văn bản cho tất cả là: (xem một văn bản khác nhau )) Không có chuỗi nào có dấu ngoặc đơn ngoại trừ lỗi chính tả.
Michael Tuck

Tôi đã cập nhật câu trả lời của mình với một RegEx thay thế (\(see \(a|\(a)([^\)]+)\)(\)|)sẽ khớp với các chuỗi trong câu hỏi của bạn.
giờ vào

LOL bạn đã cập nhật câu trả lời của mình trong khi tôi đang chỉnh sửa câu trả lời của mình. Tôi sẽ thử cái mới.
Michael Tuck

1

Hãy thử mẫu này: \(see \(a(.*)\)và đảm bảo rằng bạn có ". Phù hợp với dòng mới" không được chọn và "bao quanh" được chọn.


1

Vì một số trong số này quá sâu để tôi hiểu, hãy để tôi chỉ cho bạn thấy những gì tôi đã làm sau khi đọc tất cả các giải pháp này và nhiều hơn nữa để cuối cùng hiểu rõ hơn. (đây là một cách tiếp cận đơn giản, có thể không phải là tốt nhất)

Tôi muốn xóa tất cả các yếu tố hình của tôi trên toàn bộ trang web. Hình 2.1, Hình 1.1, ect.

Đó là:

<p class="td1-content b8"><span class="stepNumber">2.  </span>Select Memo from the toolbar<br><b>Figure 2.1</b></p>

Tôi muốn nó kết thúc:

 <p class="td1-content b8"><span class="stepNumber">2.  </span>Select Memo from the toolbar</p>

Nhưng mỗi

có số hình khác nhau, vì vậy tôi đã sử dụng số này trong văn bản cao siêu 2.

  1. ctrl H
  2. nhấp vào biểu tượng ". *" ở dưới cùng bên phải của văn bản Sublime 2, (regex)
  3. đánh máy <br><b>Figure.*</b>
  4. thay thế bằng: -left trống

Điều này thay thế tất cả các trường hợp của tôi với số liệu trong đó. chú ý tôi đã sử dụng. * trong đó các số sẽ là. Hi vọng điêu nay co ich.


0

Regex chính xác bạn cần là:

\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)

Ví dụ:

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

Khi chọn Tìm tất cả trong Tài liệu hiện tại , kết quả sẽ là:

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

Bạn chỉ có thể sử dụng Thay thế theo nhu cầu của bạn thay thế.

Nếu bạn muốn bao gồm acả trong regex, bạn có thể sử dụng:

\(see \(a\w+\)((, \(a\w+\))*( and \(a\w+\)))?\)
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.