我正在使用包含单词“Español”的HTML文档,但是在源代码中它写为“ Españ ol”(添加了空格,因此浏览器不会自动更改它)

如果我这样做,则找不到“Español”:

        if (source.contains("Español"))
        System.out.println("Found it");


如果我这样做,则会发现单词:

        if (source.contains("Español"))
        System.out.println("Found it");


任何人都可以洞悉正在发生的事情吗?

最佳答案

从HTML获取文本后,您需要首先将HTML转义的字符(例如ñ)转换为Unicode字符(ñ)。好的方法是使用Apache Commons Lang library

在您的情况下:

input = StringEscapeUtils.unescapeHtml4(input);


将执行HTML-> Unicode转换。

10-04 13:12