Java 仅删除html标记,并使用Jsoup将文本留在标记内

Java 仅删除html标记,并使用Jsoup将文本留在标记内,java,jsoup,Java,Jsoup,只想删除内部标记“span”,不想删除其中的文本 <blockquote> <span>I don’t even bring up technology.</span> I talk about the flow of data.&rdquo; <cite>&ndash;Rick Hassman, CIO, Pella</cite> </blockquote>

只想删除内部标记“span”,不想删除其中的文本

<blockquote>
      <span>I don’t even bring up technology.</span> 
          I talk about the flow of data.&rdquo;
      <cite>&ndash;Rick Hassman, CIO, Pella</cite>
</blockquote>

我甚至不提技术。
我谈论的是数据流。”;
&恩达什;里克·哈斯曼,首席信息官,佩拉
解析之后,它应该看起来像

    <blockquote>
            I don’t even bring up technology.
              I talk about the flow of data.&rdquo;
          <cite>&ndash;Rick Hassman, CIO, Pella</cite>
    </blockquote>

我甚至不提技术。
我谈论的是数据流。”;
&恩达什;里克·哈斯曼,首席信息官,佩拉

请帮助..

如果您的标记是正确的,并且您询问如何通过Java执行此操作

String hi = "Hello World!"
String no_o = hi.replaceAll("o", "");

…应该有帮助。

解决这个问题的最简单方法是使用String.replace()方法

使用from,它可能会为您节省很多精力

String spanText = StringUtils.substringBetween(source, "<span>", "</span>");
String result = source.replaceAll("<span>.+</span>", spanText);
String spanText=StringUtils.substringBetween(源代码,“,”);
字符串结果=source.replaceAll(“.+”,spanText);

是的,我试过使用regex。。。但是它正在从html中删除所有span标记。。。。我只是想删除blockquote中的span标记。。。
        Document doc = Jsoup.parse(html);
        for (Element e : doc.select("span")) {

            Element parent = e.parent();
            Element newParent = parent.clone();
            newParent.empty();
            for (Node n : parent.childNodes()) {

                if (n instanceof Element && ((Element) n).tag().getName().equals("span")) {
                    newParent.append(((Element) n).html());
                } else {
                    newParent.append(n.outerHtml());
                }

            }
            parent.replaceWith(newParent);

        }
String spanText = StringUtils.substringBetween(source, "<span>", "</span>");
String result = source.replaceAll("<span>.+</span>", spanText);