たな

たな

いろんなことを考えます。いろんなことに挑戦します。Javaのエンジニアです。

JavaでHTMLタグを外したい

JavaでHTMLタグを外したい

Javaでデータを扱っているとき、取得した値のHTMLタグを外したいという状況が発生することがあります。
例えば、画面に表示している文章を取得して、json形式で情報をやりとりしたいというものです。
HTMLをパースすることになります。

まとめ

①jsoup(じぇいすーぷ)を使う
②正規表現を使う

①jsoup

jsoupを使用する方法が良さそうです。
jsoup Java HTML Parser, with best of DOM, CSS, and jquery
jsoupを使用するために、Mavenとかに依存する情報を書いたり、直接jarファイル突っ込んだり。
Maven Repository: org.jsoup » jsoup

②正規表現

私の場合は諸事情により、①が使えませんでした。
次の策として、正規表現を使ってHTMLタグを空欄に書き換える方法を取りました。 以下のように書きました。

(HTMLタグを消したいデータ).replaceAll("<[^>]+>", "");

これで取れます。 例えば、

public class Sample{
    public static void main(String [] args){
        
        String str = "<div>sample</div>";
        System.out.println("str: " + str);

        String str2 = str.replaceAll("<[^>]+>", "");
        System.out.println("str2: " + str2);
    }
}

str: <div>sample</div>
str2: sample

と出力されます。

よかったよかった。

ただ、②正規表現の方法だと文字参照 文字参照 - Wikipedia は消せないので注意してください。

おわり。。

【スポンサーリンク】