非英文字符(更具体地说是中文/东方字符串)一直在弄乱我在两个哈希表之间的比较。我正在使用Jsoup将指定网站的html属性文本加载到哈希表中,并且它们之间的比较与英文字符一起使用。但是当与'??'进行比较时和'??',它将它们标记为不同,我不想要它,因此,我甚至不想将它们加载到哈希表中,但它仍然这样做。
到目前为止我尝试过的事情: 1.在加载来自站点的值时,我用空格替换所有问号,并且我有条件不添加空字符串。 2.检查字符串是否是拉丁字符,但似乎很多我的输入不是出于某种原因,但他们读作Engish
现在代码:
private static void loadHTML(String url, Hashtable<String, Integer> updatedHash){
try{
Document doc = Jsoup.connect(url).get();
Elements containers = doc.select("a");
for (Element c: containers){
//get text in the a href attribute tag
String value = c.text().toLowerCase();
//boolean valid = value.matches("\\p{L}+");
value = value.replaceAll("\\?", " ");
if(!value.isEmpty() && (value.length() < 30)){
System.out.println(value);
//method for putting values in a specified hashtable
incrementValues(value,updatedHash);
}
}
} catch (Exception e){
System.out.println(e);
System.exit(1);
}
}
它现在如何下降: 说容器有[你好,哇,酷,中国人物,你好] 系统将打印出来:你好,哇,酷,??,你好 然后仍然添加?英寸
我想: 容器:[你好,哇,很酷,中国人,l] Systemprint(值):你好,哇,酷,l Hashtable键必须只能是:hello,wow,cool,l]
简化问题: 如何确定某个字符串是否不是英文?
谢谢!