如何用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
相关产品推荐
相关产品推荐

