java - Jsoup:用新行替换标签=>新行以空格开头

标签 java html jsoup

我必须用新行替换几个 HTML 标签,例如p 标签如示例代码中所示:

String html = "<p>Zeile1</p><p>Zeile2</p><p>Zeile3</p><p>Zeile4</p>";
Document doc = Jsoup.parse(html);
doc.select("p").append("\\n");
String sanitized = doc.text().replaceAll("\\\\n", System.getProperty("line.separator");
System.out.println(sanitized);

这是输出:

Zeile1
 Zeile2
 Zeile3
 Zeile4

如您所见,我在第 2-4 行中添加了空格。 它们从哪里来?我怎样才能摆脱它们?

最佳答案

像@bdares建议一样,您可以迭代元素:

String html = "<p>Zeile1</p><p>Zeile2</p><p>Zeile3</p><p>Zeile4</p>";
Document doc = Jsoup.parse(html);
StringBuilder b = new StringBuilder();
for (Element p : doc.select("p")) {
    b.append(p.text());
    b.append(System.getProperty("line.separator"));
}
System.out.println(b.toString());

输出:

Zeile1
Zeile2
Zeile3
Zeile4

关于java - Jsoup:用新行替换标签=>新行以空格开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10172630/

相关文章:

java - 如何从 Java 代码中删除重复项?

javascript - 将字符串转换为多维数组

java - 使用 Jsoup 删除元素不起作用

java - 获取jsoup中html字符串中的所有属性

java - 控制多线程连接的条件

java - 允许哪些线程调用 SwingWorker#publish?

javascript - 通过javascript获取td jSTL值

html - 在不同位置添加 2 个固定导航栏

java - 多类元素选择说明

java - XML解析错误: UTF-8