java - 如何使用 Jsoup 从标签元素中检索字符串?

标签 java android regex string replace

我使用 Jsoup 从网络获取元素:

Elements addresses = doc.select("address > div");

结果是这样的:

<address>
    <div>
    7135 S Kingery Hwy<br>Willowbrook, IL 60527
</div>
<div class="phone">
        (630) 288-6635
</div>
</address>

我很难从标签中检索地址。我使用 text() 方法:

for (Element address : addresses) {
    Log.i("addresses", address.text() );
}

结果是:

7135 S Kingery Hwy Willowbrook, IL 60527
(630) 288-6635

如何过滤它以仅检索地址并用换行符替换 br 标记?预期结果:

7135 S Kingery Hwy 
Willowbrook, IL 60527

最佳答案

你可以试试这个,

    Elements addresses = doc.select("address > :not(div[class=phone])");
    for (Element address : addresses) {
        for (Node node : address.childNodes()) {
            if (node.nodeName().equals("br")) {
                continue;
            }
            String text = node.toString().trim();
            System.out.println(text);
        }
    }

关于java - 如何使用 Jsoup 从标签元素中检索字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14078363/

相关文章:

java - 在java中提升数字的字符串输入

android - (Robotium) 如何选择 RadioGroup 中的 RadioButton

android - 无法从丢弃的 APK 中提取 Crashlytics 构建信息

Android 对/dev 目录的权限被拒绝

javascript - 正则表达式错误 : Match is not a function

java - 注入(inject)类方法的读/写锁

java - a.equals(b) 和 array.equals(a,b) 之间的区别

java - 在 WindowManager 中为 ImageView 设置动画 - Android

android - 在 Android 上以正确的格式输入 MAC 地址

java - 正则表达式匹配单词