我想从锚标记中删除特定属性:
<a id="nav-askquestion" style="cursor:default" href="/questions">
输出: -
<a href="/questions">
通过java程序
答案 0 :(得分:4)
我们使用htmlparser来完成这类工作
您可以使用此未经测试的snipplet解析和修改节点:
NodeVisitor visitor = new NodeVisitor() {
public void visitTag(Tag tag) {
tag.removeAttribute("id");
tag.removeAttribute("style");
}
};
Parser parser = new Parser(...);
parser.visitAllNodesWith(visitor);
答案 1 :(得分:2)
这个小片段可以解决问题。
问我是否需要关于正则表达式的一些问题
public class test {
public static void main(String[] args) {
String htmlFragment ="<a id=\"nav-askquestion\" style=\"cursor:default\" href=\"/questions\">";
String attributesToRemove = "id|style";
System.out.println(htmlFragment);
System.out.println(cleanHtmlFragment(htmlFragment, attributesToRemove));
}
private static String cleanHtmlFragment(String htmlFragment, String attributesToRemove) {
return htmlFragment.replaceAll("\\s+(?:" + attributesToRemove + ")\\s*=\\s*\"[^\"]*\"","");
}
}
答案 2 :(得分:-1)
人们可能会建议使用正则表达式,但是beware,您可以使用XML解析器。