Tìm và thay thế văn bản

Khi khách hàng đổi tên sản phẩm giữa chừng một bản nháp, hoặc bạn cần thay mọi ký hiệu {FIRST_NAME} trong một mẫu email, mở trình xử lý văn bản để làm ba trăm lần thay thế là quá mức cần thiết. Dán văn bản, đặt cặp tìm/thay, bật phân biệt chữ hoa/thường hoặc chế độ biểu thức chính quy, và công cụ này sẽ viết lại từng chỗ khớp cùng một bộ đếm cho biết đã thay bao nhiêu.

Cách tìm và thay thế văn bản

  1. 1

    Dán văn bản

    Một bài viết, một mẫu, một tệp nhật ký hoặc bất kỳ chuỗi đơn giản nào.

  2. 2

    Nhập mẫu cần tìm

    Một từ hoặc cụm từ nguyên văn, hoặc một biểu thức chính quy khi nút regex được bật.

  3. 3

    Nhập nội dung thay thế

    Để trống để xóa các chỗ khớp; ở chế độ regex, tái sử dụng nhóm bắt như $1, $2.

  4. 4

    Chọn tùy chọn

    Bật phân biệt chữ hoa/thường và chế độ regex cho các tìm kiếm nâng cao.

  5. 5

    Thay thế và sao chép

    Xem số lần khớp và sao chép văn bản đã viết lại chỉ với một cú nhấp.

Bảng tra nhanh tùy chọn

Tùy chọn Nó thay đổi điều gì
Phân biệt hoa/thường Apple chỉ khớp Apple, không khớp apple hay APPLE (áp dụng cho tìm kiếm đơn giản, không regex)
Biểu thức chính quy Ô tìm kiếm được đọc như một mẫu PCRE, bao trong dấu phân cách như /mẫu/
Cờ nội dòng Thêm cờ sau dấu phân cách đóng: i bỏ qua hoa/thường, s cho . bao gồm ký tự xuống dòng, m cho ^ và $ khớp ở ranh giới dòng
Thay thế tất cả Mọi chỗ khớp đều được thay; không có chế độ «chỉ chỗ đầu tiên»

Các mẫu regex hữu ích

  • Loại bỏ thẻ HTML: /<[^>]+>/
  • Gộp nhiều khoảng trắng: / {2,}/ thành một khoảng trắng
  • Xóa URL: /https?:\/\/\S+/
  • Che số điện thoại: /\d{3}-\d{3}-\d{4}/ thành ***-***-****
  • Dấu nháy cong thành nháy thẳng: /[‘’]/ thành '
  • Bắt từ đầu tiên của mỗi dòng: /^(\w+).*$/m thành $1

Nhóm bắt giúp tiết kiệm thời gian

Ở chế độ regex, dấu ngoặc bắt phần khớp và $1, $2 tái sử dụng nó trong phần thay thế. Để hoán đổi tên và họ trong một cột CSV:

  • Tìm: /(\w+),\s*(\w+)/
  • Thay: $2 $1

Những lỗi thường gặp

  • Thiếu dấu phân cách. Ở chế độ regex, mẫu phải được bao lại, ví dụ /foo/. Không có dấu phân cách thì tìm kiếm thất bại và văn bản trả về nguyên vẹn.
  • Khớp tham lam. /<.+>/ nuốt trọn từ dấu < đầu tiên đến dấu > cuối cùng trên một dòng. Dùng /<.+?>/ cho khớp lười.
  • Ký tự đặc biệt. ., +, *, ?, (, ), [, ], \, |, ^, $ là các toán tử regex. Đặt một dấu gạch chéo ngược phía trước khi bạn muốn ký tự nguyên văn.
  • Nút hoa/thường ở chế độ regex. Ô phân biệt hoa/thường áp dụng cho tìm kiếm đơn giản; ở chế độ regex hãy điều khiển hoa/thường bằng cờ i.
  • Tham chiếu ngược trong phần thay thế. Tái sử dụng một nhóm bằng $1 hoặc ${1}. Để in một dấu $ nguyên văn trước một chữ số, hãy thoát nó thành \$.
  • Ký tự xuống dòng. \r\n của Windows và \n của Unix trông giống hệt nhau trên màn hình; một chỗ không khớp sẽ phá vỡ các mẫu cuối dòng.

Câu hỏi thường gặp

PCRE (biểu thức chính quy tương thích Perl), engine mà PHP, Perl và grep -P cùng dùng. Bao mẫu của bạn trong dấu phân cách như /mẫu/ và thêm cờ như i hoặc s sau dấu phân cách đóng. Một vài lối tắt chỉ có ở JavaScript hoặc Python có thể không hoạt động y hệt.

Hàng nghìn không thành vấn đề. Đầu vào rất lớn bị giới hạn bởi kích thước yêu cầu và thời gian xử lý; với các tệp khổng lồ, hãy dùng công cụ dòng lệnh như sed hoặc một trình soạn thảo có thay thế theo luồng.

Không thể ngay trong công cụ. Hãy giữ văn bản gốc ở một tab khác, hoặc dán vào một trình soạn thảo có quản lý phiên bản trước để có thể quay lại.

Việc tìm và thay chạy trên máy chủ của chúng tôi: văn bản của bạn được gửi đi để thực hiện thay thế và không được lưu sau khi phản hồi được trả về. Với tài liệu bảo mật, nên dùng trình soạn thảo ngoại tuyến.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác