Bạn gần như chắc chắn có thể làm điều này bằng cách sử dụng các lệnh console, nhưng điều này nghe có vẻ như là một công việc sửa chữa một lần chứ không phải là một việc vặt thông thường vì vậy tôi sẽ sử dụng công cụ regex đồ họa yêu thích của tôi, trình soạn thảo văn bản mã nguồn mở rất tiện dụng có tên là jEdit. (Xem jedit.org để biết chi tiết.)
Khi bạn đã cài đặt jEdit, bạn có thể mở hộp thoại "Tìm kiếm và thay thế" bằng cách nhấn Ctrl + F hoặc bằng cách vào menu "Tìm kiếm" và chọn mục "Tìm".
Trong hộp thoại "Tìm kiếm và Thay thế", bạn cần chọn tùy chọn "Tìm kiếm trong" mà bạn muốn sử dụng. "Bộ đệm hiện tại" sẽ chỉ thay đổi tệp hiện tại, "Tất cả bộ đệm" sẽ thay đổi tất cả các tệp hiện đang mở trong jEdit và tùy chọn "Thư mục" sẽ cho phép bạn thay đổi tất cả các tệp trong thư mục (mà bạn chỉ định ở cuối hộp thoại ) phù hợp với bộ lọc bạn chỉ định (chẳng hạn như *.html
hoặc *.php
). Tùy chọn "Thư mục" rất mạnh mẽ và có thể là tùy chọn bạn cần, nhưng hãy cẩn thận với nó và kiểm tra thật kỹ xem tìm kiếm / thay thế của bạn không gây ra thay đổi bất ngờ bằng cách khớp theo những cách bạn không xem xét.
Tiếp theo, bạn cần đánh dấu vào ô "Biểu thức chính quy" ở giữa hộp thoại.
Bây giờ hãy nhập vào hộp văn bản "Tìm kiếm" regex bạn muốn sử dụng để nhắm mục tiêu văn bản cần thay đổi. Nếu tôi hiểu yêu cầu của bạn, mẫu regex này có thể thực hiện công việc:
(?<=>)([^<]*\p{Lu}{2,}[^<]*)(?=<)(?!</script)
Mẫu này cho biết "chọn văn bản đứng trước a >
và chứa bất kỳ số lượng ký tự nào <
sau đó ít nhất là hai ký tự viết hoa liên tiếp, sau đó là bất kỳ số ký tự nào không phải <
và cuối cùng được theo sau bởi <
nhưng KHÔNG phải bởi </script
".
Sau đó, bạn cần chọn tùy chọn "Trả về giá trị của đoạn trích BeanShell" và nhập vào hộp văn bản "Thay thế bằng":
_1.toUpperCase()
Đoạn trích BeanShell này chỉ nói "văn bản được chụp trong nhóm chụp đầu tiên khớp với biểu thức chính quy, được chuyển đổi thành chữ hoa".
Tôi đã thử nghiệm điều này và nó vui vẻ chạy qua một tệp HTML để tìm các chuỗi văn bản thô liên tiếp chứa hai hoặc nhiều ký tự in hoa liên tiếp. Xin lưu ý rằng bất kỳ đoạn nào có nội dung nào đó vô tội như UK hoặc USB cũng sẽ được khớp với biểu thức chính này, vì vậy bạn có thể muốn thay đổi bộ {2,}
định lượng để {4,}
có ít nhất bốn ký tự viết hoa liên tiếp cho một chuỗi được khớp.
Ngoài ra, hãy đảm bảo kiểm tra thật kỹ trước khi bạn giải phóng tệp này trên một tệp hoặc tập tin có giá trị (và đảm bảo rằng bạn đã sao lưu tất cả các bản gốc trước để bạn có thể khôi phục chúng nếu mọi thứ không ổn và bạn không nhận thấy cho đến khi bạn đã lưu các thay đổi).
<FONT
? Từ CAPS có thể ở bất cứ đâu trong đoạn văn? Tiêu đề nên ở đầu đoạn văn?