You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Jsoup与StringBuilder解析HTML并在结果中添加空格?

解决方案:用Jsoup解析HTML并实现标题与内容的空格分隔

没问题,我帮你调整代码来实现「先显示网页标题、再展示所有<p>标签内容,且标题与第一段内容之间保留空格」的需求。

修改后的完整代码

TextView tvidescription;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_detail);

    new Thread(new Runnable() {
        @Override
        public void run() {
            final StringBuilder builder = new StringBuilder();
            try {
                Document doc = Jsoup.connect("https://jang.com.pk/news/497717").get();
                Elements paragraphs = doc.select("p");
                String title = doc.title();
                
                // 先添加标题,然后追加空格(若需要更大间隔,可替换为"\n\n"实现空行)
                builder.append(title).append(" "); 

                // 遍历所有<p>标签,每个段落间添加换行提升可读性
                for (Element paragraph : paragraphs) {
                    builder.append("\n\n").append(paragraph.text());
                }
            } catch (IOException e) {
                builder.append("Error : ").append(e.getMessage()).append("\n");
            }

            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    tvidescription.setText(builder);
                }
            });
        }
    }).start();
}

关键修改说明

  • 标题与内容的空格分隔:在builder.append(title)后添加了append(" "),确保标题和第一个<p>内容之间有空格。如果想要标题和内容之间空一行(视觉上更清晰),可以把这部分改成builder.append(title).append("\n\n");。
  • 语义化变量名:把原代码中的links改为paragraphs,因为我们选择的是<p>段落标签,而非链接,让代码更易读。
  • 段落排版优化:每个<p>内容前添加两个换行,避免段落挤在一起,提升阅读体验。

内容的提问来源于stack exchange,提问作者ANDROID STUDIO BASIC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:42:42