Làm thế nào loại bỏ thẻ HTML của chuỗi văn bảng? (How to remove html tags from a string in java?)





Trong khi làm việc với các yêu cầu có liên quan tới website, bạn có thể nhận được yêu cầu như remove tất cả các thẻ(tab) HTML của của một chuỗi nào đó. Bài viết này sẽ hướng dẫn một cách đơn giản để xử lý yêu cầu trên.





Như ta đã biết thẻ(TAB) luôn bắt đầu và kết thúc bởi một cập thẻ "<tab></tab>", nếu để ý ta sẽ thấy thẻ tab luôn bắt đầu bằng ký tự "<" và kết thúc bằng ký tự ">", như vậy ta chỉ viết kiếm các ký tự bắt đầu bằng "<", kết thúc bằng ">", và thay thế nó bằng cách sử dụng phương thức "method()" trong lớp string(class string).

Theo như mô tả trên ta định nghĩa được phương thức tìm kiếm và thay thế sau:
String.replaceAll("\\<.*?\\>", "");

<.*?>: Đây là pattern được định nghĩa để tìm các ký tự bắt đầu bằng "<" và kết thúc thúc bằng ">", dấu chấm đại diện cho ký tự đặc biệt(trong trường hợp là là ký tự "/"), ký tự * đại diện cho các ký tự nằm trong "<" và ">".

Bạn xem ví dụ sau để hiểu rõ hơn:
/**
 * @(#)JavRemoveHTMLTags.java
 *
 * JavRemoveHTMLTags application
 *
 * @author BUI NGOC SON
 * @version 1.00 2014/3/4
 */

public class JavRemoveHTMLTags {
   
    public static void main(String[] args) {
       
        String objStr = "<div><b>Welcome to VNLIVES.NET</b></div>";
        objStr = objStr.replaceAll("\\<.*?\\>", "");
       
        System.out.println("String after remove HTML tab: \"" + objStr + "\"");

    }
}




















No comments:

Post a Comment