Hôm nay gặp xử lý một trường hợp khá thú vị, tôi phải chuyển các bài viết lên website bằng mã HTML, và số lượng không hề nhỏ. Tôi gặp một vấn đề là phải chuyển các câu văn, lời văn, đoạn đối thoại nằm trong dấu "" thì phải hiện thị chữ in nghiêng để phân biệt, và nó thật sự là một vấn đề khó, việc đầu tiên tôi nghĩ đến là mình sẽ viết một ứng dụng chuyển đổi dấu "" thành dạng html là <i>""</i> và nó là một giải pháp khá dễ dàng.
Nhưng tôi thì đang làm biếng và không muốn làm như vây, thế là tôi nghĩ tới dùng Notepad++ để FIND and REPLACE để xử lý. Tuy đã tìm ra cách dùng Notepad++ để làm nhưng lại mất tới 2 tiếng để ngâm cứu, trong khi viết app thì chắc chỉ tốn khoảng nữa tiếng, một tiếng là xong, đúng là tính vỏ dưa ra vỏ dừa, thoát không nổi lưới trời.
Thôi thì đã lỡ chuyến đò, nên tôi viết bài hướng dẫn này, để anh, chị, em nào có cùng vấn đề sẽ không bị lỡ chuyến như tôi. Đầu tiên nhấn "CTRL + H" để mở hộp thoại tìm kiếm và thay thế của Notepad++ sau đó điền thông tin như bên dưới:
À lưu ý bạn nhớ check chọn vào option "Regular expression" để Pattern có hiệu lực.
Giải thích ý nghĩa của pattern chút, tại FIND pattern sẽ tìm kiếm các đoạn văn có các ký tự từ A-Z (không phân biệt hoa thường), từ 0-9, và các ký tự ['.,;\?!-] tồn tại trong dấu nháy kép "".
Còn tại REPLACE thì $1 tương đương với ([\w\s\'.,;\?!-]+) nghĩa là nó sẽ trả về đoạn văn bản được tìm thấy trong dấu nháy kép "" mà không bao gồm nó, vì vậy bạn phải thêm dấu nháy kép " và trước và sau nó và tất nhiên ta sẽ kèm theo tag chữ in nghiêng cho đoạn văn được tìm thấy đó, vậy là ta đã giải quyết xong vấn đề.
Nhưng tôi thì đang làm biếng và không muốn làm như vây, thế là tôi nghĩ tới dùng Notepad++ để FIND and REPLACE để xử lý. Tuy đã tìm ra cách dùng Notepad++ để làm nhưng lại mất tới 2 tiếng để ngâm cứu, trong khi viết app thì chắc chỉ tốn khoảng nữa tiếng, một tiếng là xong, đúng là tính vỏ dưa ra vỏ dừa, thoát không nổi lưới trời.
Thôi thì đã lỡ chuyến đò, nên tôi viết bài hướng dẫn này, để anh, chị, em nào có cùng vấn đề sẽ không bị lỡ chuyến như tôi. Đầu tiên nhấn "CTRL + H" để mở hộp thoại tìm kiếm và thay thế của Notepad++ sau đó điền thông tin như bên dưới:
Find: "([\w\s\'.,;\?!-]+)"
Replace: <i>"$1"</i>
Replace: <i>"$1"</i>
À lưu ý bạn nhớ check chọn vào option "Regular expression" để Pattern có hiệu lực.
Giải thích ý nghĩa của pattern chút, tại FIND pattern sẽ tìm kiếm các đoạn văn có các ký tự từ A-Z (không phân biệt hoa thường), từ 0-9, và các ký tự ['.,;\?!-] tồn tại trong dấu nháy kép "".
Còn tại REPLACE thì $1 tương đương với ([\w\s\'.,;\?!-]+) nghĩa là nó sẽ trả về đoạn văn bản được tìm thấy trong dấu nháy kép "" mà không bao gồm nó, vì vậy bạn phải thêm dấu nháy kép " và trước và sau nó và tất nhiên ta sẽ kèm theo tag chữ in nghiêng cho đoạn văn được tìm thấy đó, vậy là ta đã giải quyết xong vấn đề.
No comments:
Post a Comment