从使用 Jsoup 检索的文本中删除制表符
Delete tabulation character from text retrieved with Jsoup
我正在使用 Jsoup 解析 HTML 文件。当获取 h1 的文本时,它还会检索制表符和换行符。
'Name' 是我要从这里检索的内容:
<h1>\n\t\t\tNAME\n\t\t</h1>
我正在尝试通过这种方式摆脱这些字符:
String name = document.select( "div header > h1" ).first().ownText().replaceAll( "[^a-zA-Z]+", "" ).trim().toUpperCase();
但这是结果:
NTTTTNAMETNTTT
如何获取没有所有制表符和换行符的文本?
看来 html 确实包含字符串 "\t"
和 "\n"
字面意思。在那种情况下,您可能应该在解析之前清理源代码。应该这样做:
String html = Jsoup.connect(URL).userAgent("Mozilla/5.0").execute().body();
html = html.replaceAll("\\[nt]", "");
Document doc = Jsoup.parse(html);
我正在使用 Jsoup 解析 HTML 文件。当获取 h1 的文本时,它还会检索制表符和换行符。
'Name' 是我要从这里检索的内容:
<h1>\n\t\t\tNAME\n\t\t</h1>
我正在尝试通过这种方式摆脱这些字符:
String name = document.select( "div header > h1" ).first().ownText().replaceAll( "[^a-zA-Z]+", "" ).trim().toUpperCase();
但这是结果:
NTTTTNAMETNTTT
如何获取没有所有制表符和换行符的文本?
看来 html 确实包含字符串 "\t"
和 "\n"
字面意思。在那种情况下,您可能应该在解析之前清理源代码。应该这样做:
String html = Jsoup.connect(URL).userAgent("Mozilla/5.0").execute().body();
html = html.replaceAll("\\[nt]", "");
Document doc = Jsoup.parse(html);