jsoup去掉标签中的标签,保留非标签内容

时间:2022-10-31 11:11:08

通过jsoup的select这一获取标签<b id="d_price" class="d_price "><span class="yen">&yen;</span>414.50</b>

现在的问题是,我只想提取414.50这个价格而不要span标签及里面的内容。

我的解决方法时:

//通过jsoup中select选择b标签,在获取html内容

String htmlContent = "<span class=\"yen\">&yen;</span>414.50";
System.out.println(htmlContent);

//去除标签内容
htmlContent = htmlContent.replaceAll("<.*>.*</[\\w-\\W-]*>", "");
System.out.println("过滤后:"+htmlContent);


其实这个问题解决方法很多,你可以选获取b标签 Element b = XXX.select("b#d_price ");

在删除b标签中的span标签: b.remove("span");但是这个方法在上面不适用,因为我选择器中的正则表达式是动态读取的,那么你处理的时候就不知道获取后的Element中包含的标签是什么标签了;所以之恩能够获取Element的html内容,然后用正则表达式去掉你们的<...>XXX</...>标签。