Java 从字符串中删除段

Java 从字符串中删除段,java,Java,我正在解析一个站点的HTML代码,我几乎完成了。我有一部分的文本,我需要从网站,但偶尔也有一些链接包括在HTMl中,我希望摆脱。我正在考虑使用一个事实,即我不希望所有元素都以“”开头。有什么办法可以这样做吗?这就是我目前所拥有的 for(int i = 0; i<desc.length();i++) { if(desc.charAt(i)==('<')){ } } 对于(inti=0;i我会尝试这样的东西 StringBuilder

我正在解析一个站点的HTML代码,我几乎完成了。我有一部分的文本,我需要从网站,但偶尔也有一些链接包括在HTMl中,我希望摆脱。我正在考虑使用一个事实,即我不希望所有元素都以“”开头。有什么办法可以这样做吗?这就是我目前所拥有的

for(int i = 0; i<desc.length();i++)
    {
        if(desc.charAt(i)==('<')){

        }
    }

对于(inti=0;i我会尝试这样的东西

StringBuilder sb = new StringBuilder();
boolean open = false;
for (char c : desc.toCharArray()) { // iterate over the characters
  if (c == '<') { // if we hit a less then store that the tag is open.
    open = true;
  } else if (open && c == '>') { // if the tag is open and the close symbol hits close.
    open = false;
  } else if (!open) { // if the tag isn't open
    sb.append(c);
  }
}
System.out.println(sb.toString()); // print the string.
StringBuilder sb=新建StringBuilder();
布尔开=假;
for(char c:desc.toCharArray()){//遍历字符
如果(c=''){//如果标记打开并且关闭符号点击关闭。
开=假;
}else如果(!open){//如果标记未打开
sb.附加(c);
}
}
System.out.println(sb.toString());//打印字符串。

通常认为手动解析XML和HTML等标记语言是一个坏主意。但是,如果您只是尝试删除所有元素,我可以看到一个简单的脚本可能会有用

我认为值得一提的是,如果删除HTML的所有元素,可能会有几段文本挤在一起

public class RemoveHtmlElements {

    public static void main(String[] args) {

        String html = "<!DOCTYPE html><html><body><h1>My First Heading</h1>"
                + "<p>My first paragraph.</p></body></html>";

        boolean elementsExist = true;
        while(elementsExist) {
            if(html.contains("<")) {
                int open = html.indexOf("<");
                int closed = html.indexOf(">", open);
                html = html.substring(0, open) + " " + html.substring(closed + 1);
            } else {
                elementsExist = false;
            }
        }

        System.out.println(html);

    }

}
公共类删除HtmleElements{
公共静态void main(字符串[]args){
String html=“我的第一个标题”
+“我的第一段。

”; 布尔元素sexist=true; while(元素性别歧视){ if(html.contains(“