Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

正規表現で一部のタグの除去

こんにちは,javaでHTMLタグの除去を行いたいと思っています.
<br>系(<br>,<br />)と<p>系(<p>,</p>,<p style="〜">)を残して,他の全てのタグを削除したいのですが…
全てのタグを削除する正規表現はかけたのですが,そこから上記のタグを残す方法が思い浮かばず悩んでいます.

以下が現在のソースです.

    public String removeTags(String plainItem) {
        Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);
        Matcher matcher = pattern.matcher(plainItem);
        String replacedItem= matcher.replaceAll("");
        return (replacedItem);
        }

plainItemにはHTMLソースが入っています.
どちら様か,ご教授いただけたらと思っています.
よろしくおねがいします!

2

回答

7147

閲覧

2件の回答

評価

0

正規表現1行で、タグの中のBRとかを除く任意の文字、ってなことはできますが、重くなるかもしれません。

それよりもタグにマッチさせることができるなら、タグにマッチした文字のみを1つずつ抜き出して、それが削除するタグなのか残しておくタグなのか、と文字列で判断し、いらないなら切り取る方が良いと思います。

評価

0

ひろちゃんさん回答ありがとうございます.
早速javadoc片手にその方法でトライしてみたいと思います.
アドバイスありがとうございました!

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。