问题现场:
今天我编写一个简单的主题爬虫,需要从文件爱你里读取主题字符串,然后对网页中的锚文本匹配,比如主题词s1是“党”,锚文本s2是“全面从严治党”,那么s2包含主题词。但是出现问题:s2.contains(s1) 返回结果是false。
问题分析过程:
既然不匹配,那么打印两个字符串看看,从控制台上用肉眼观查没有发现特殊的异样。
分析两个字符串长度:s1.length()==2 。将其转化为字符数组,首个字符值是05279。
出现原因:
“WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。 ”
我出现的原因是用Windows自带的笔记本新建的文件,另存为了UTF-8。当我改用Notepad,把格式转换为UTF-8无DOM格式后,问题就解决了。
总结:
这种问题多分析、多接触就能解决了~