在java中从字符串中删除类为x的html

在java中从字符串中删除类为x的html,java,regex,Java,Regex,有没有一种好方法可以从类为“abc”的Java字符串中删除HTML?一个简单的正则表达式- replaceAll("\\<.*?>","") replaceAll(“\\”,“”) 将删除所有,但我只想删除那些具有类“abc”的标记 嘿 你好 仅用abc级拆下h1。 注意->必须通过正则表达式而不是解析器进行ddo,因为这是我在代码中修改HTML的唯一实例。我的代码中不需要额外的JAR 使用正则表达式解析HTML从来都不是一个好主意,请参见 请参阅以获取替代方案 例如,使用JS

有没有一种好方法可以从类为“abc”的Java字符串中删除HTML?一个简单的正则表达式-

replaceAll("\\<.*?>","")
replaceAll(“\\”,“”)
将删除所有,但我只想删除那些具有类“abc”的标记

嘿
你好
仅用abc级拆下h1。
注意->必须通过正则表达式而不是解析器进行ddo,因为这是我在代码中修改HTML的唯一实例。我的代码中不需要额外的JAR

使用正则表达式解析HTML从来都不是一个好主意,请参见

请参阅以获取替代方案

例如,使用JSoup可以编写如下内容(未经测试):

这应该行得通

replaceAll("<h1[^>]*?class=\"*\'*abc\"*\'*>.*?h1>","")
replaceAll(“]*?class=\”*\“*\”*abc\“*\”*>。*?h1>”,“”)
试试看


replaceAll(“不要使用正则表达式修改HTML文件。只是想确认我不需要任何解析器,必须通过正则表达式x来完成。可能的重复项您只想删除标记或它们之间的文本?@user1803551-也要用文本标记。标记之间不应该有h1标记和文本,它们之间有“abc”类“不要只添加其他问题的链接,如果你认为这是DUPE,就把它当作一个复制品。我不认为这是重复的,所以我添加了一个例子。这也将删除<代码> HeloRoLLD。应该是什么?<代码> */<代码>?是的,你是对的。@XesLoohc-它对我不起作用。我尝试了这个html,但它没有删除类“landingPage”的span标记。裙子着陆H1裙子SEO H1带有regx]*?class=\“\'*landingPage\”*\'*>。?span>@Vivek您有责任提供输入和预期的输出案例。您在问题中展示了一个非常简单的案例,现在用没有人知道的复杂输入反驳答案。不起作用,返回与输出相同的字符串,而不删除H1@Vivek根据你在问题中提供的信息,我认为这是可行的.String html=“HeyHello”;System.out.println(“格式化字符串:”+html.replaceAll(“.*”,”)这将删除这两个H1。@Vivek语法是什么:
class=“name”
class=“name”
?您同时使用这两个。它可以是两个。但是class=“name”也会很高兴看到这一点.i将输入字符串更改为双引号,但删除两个H1的结果相同。string html=“HeyHello”;
Document doc = Jsoup.parse(html);
Elements elements = doc.select(".abc");
elements.remove();
replaceAll("<h1[^>]*?class=\"*\'*abc\"*\'*>.*?h1>","")
replaceAll("<[Hh]1 class=['\"]landingPage['\"]>.*?</[Hh]1>", "")
<H1 class="abc">Hey</H1>
<H1 class="xyz">Hello</H1>
<H1 class="xyz">Hello</H1>