Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用零deps从Java字符串中剥离HTML标记_Java_Html_Regex_String - Fatal编程技术网

使用零deps从Java字符串中剥离HTML标记

使用零deps从Java字符串中剥离HTML标记,java,html,regex,string,Java,Html,Regex,String,我知道这个问题与其他问题非常相似。我也有同样的问题(如何从Java字符串中去掉HTML标记?),我不想在代码中添加任何依赖项(Apache Commons、Spring等) 因此,我正在寻找一种“纯JavaSE”风格的HTML标记剥离算法,这种算法被许多其他框架使用,但不确定从哪里开始。提前感谢。无需明确使用HTMLEditorKit: String html = "<html>..."; JTextPane pane = new JTextPane(); p

我知道这个问题与其他问题非常相似。我也有同样的问题(如何从Java字符串中去掉HTML标记?),我不想在代码中添加任何依赖项(Apache Commons、Spring等)


因此,我正在寻找一种“纯JavaSE”风格的HTML标记剥离算法,这种算法被许多其他框架使用,但不确定从哪里开始。提前感谢。

无需明确使用HTMLEditorKit:

    String html = "<html>...";
    JTextPane pane = new JTextPane();
    pane.setContentType("text/html");
    pane.setText(html);
    StyledDocument doc = pane.getStyledDocument();
    try {
        System.out.println("Text: " + doc.getText(0, doc.getLength()));
    } catch (BadLocationException ex) {
        Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
    }
String html=“…”;
JTextPane=新的JTextPane();
pane.setContentType(“text/html”);
setText(html);
StyledDocument doc=pane.getStyledDocument();
试一试{
System.out.println(“文本:+doc.getText(0,doc.getLength()));
}捕获(BadLocationException ex){
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE,null,ex);
}

“。我不想在代码中添加任何依赖项(Apache Commons、Spring等)。”查看
java.magic
包。或者换句话说,如果J2SE内置了基于Java的第三方API,为什么会有这么多用于解析HTML的API?难道你不能用一堆
String.replaceAll
调用来模拟你提到的问题的公认解决方案吗?转义HTML和剥离HTML标记完全是两码事。你想做哪一个?谢谢@AndrewThompson我刚刚启动了Eclipse,搜索了
java.magic
,但什么也没看到?你确定这是JDK附带的吗?再次感谢,还有+1!谢谢@nhahdh(+1)-我想我想脱掉他们?顺便问一下,有什么区别?再次感谢!