非英语(拉丁语)字符串继续加载到哈希表中,它们显示为“??”

时间:2017-07-26 19:58:56

标签: java regex jsoup

非英文字符(更具体地说是中文/东方字符串)一直在弄乱我在两个哈希表之间的比较。我正在使用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]

简化问题: 如何确定某个字符串是否不是英文?

谢谢!

0 个答案:

没有答案
相关问题