Это можно сделать с помощью следующего:
Pattern tags = Pattern.compile ("</?[^>]+>");
Matcher match = tags.matcher (yourContent); // here you specify the string you want to modify (HTML)
String result = match.replaceAll("");
Таким образом вы удаляете все теги, но сохраняете содержимое в вашей HTML-строке.
Подробнее о Pattern and Matcher здесь .
EDIT:
Чтобы удалить только ссылки (якоря) из строки, напишите следующее вместо первой строки:
Pattern tags = Pattern.compile ("</?[a]{1}[^>]+>");
Вы можете удалить произвольную строку, просто заменив регулярное выражение другим.
EDIT2:
Я совершенно не понял вашего вопроса. Два раза:)
Вы можете удалить все теги <div class="graph">
, выполнив что-то вроде этого:
Pattern tags = Pattern.compile ("<div class=\"graph\">[^(</div>)]+</div>");
После этого замените все эти [[DIV]] заполнители на все, что вы хотите. Тем не менее, этот подход не будет работать, если у вас есть div с графиком и некоторым содержимым внутри. Поэтому в этом случае, я думаю, будет лучше разделить весь ваш контент на <div class=graph>
, а затем проверить каждый DIV внутри каждого элемента, чтобы проверить, есть ли в нем график.
Я не знаю, можно ли это сделать только с помощью регулярных выражений, поэтому необходимо будет использовать более утомительный и подверженный ошибкам подход. Но вы хотите что-то действительно конкретное, так что иногда этого стоит ожидать:)