我正在使用Jsoup库,我正在寻找能够让我从这个HTML代码中获得“$ 335”的正确模式。
<p class="price"> <span class="old">$670</span> $335 </p>
有什么方法可以实现这个目标吗?
提前致谢
萨尼
答案 0 :(得分:0)
请尝试以下代码: 我还没有测试过它
String html = "<p class='price'> <span class='old'>$670</span> $335 </p>";
Document doc = Jsoup.parse(html);
String str = doc.select(".price").first().text();
str = str.replace(doc.select(".price span").first().text();,'');
答案 1 :(得分:0)
在对另一个答案的评论中,OP要求一个单行。 select()只选择元素,而不选择文本节点,但它很容易抓取我们正在寻找的特定文本节点:
String html = "<p class='price'> <span class='old'>$670</span> $335 </p>";
Document doc = Jsoup.parse(html);
String str = doc.select(".old").first().nextSibling().toString().trim();
我们选择span
,然后获取下一个兄弟节点(非元素),这是一个包含我们正在寻找的文本的文本节点。然后我们将它转换为一个字符串(只返回节点的文本)并修剪空格。