2017-05-29 67 views
0

我想檢測任何亞洲字符,我的代碼適用於大多數情況,但不適用於韓語,我無法檢測字符串是否具有韓文字符。CJK字符檢測問題

這是我的代碼:

Pattern pattern = Pattern.compile("\\p{InHiragana}|\\p{InKatakana}|\\p{IsHan}|\\p{IsHangul}}", Pattern.UNICODE_CASE); 
System.out.println(pattern.matcher("성동구").find()); //return false 

我試圖白衣 「InCJK_Compatibility,InCJK_Unified_Ideographs,InCJK_Compatibility_Forms」 等CJK組,沒有一個工作

固定碼:

Pattern pattern = Pattern.compile("\\p{InHiragana}|\\p{InKatakana}|\\p{IsHan}|\\p{IsHangul}", Pattern.UNICODE_CASE); 
System.out.println(pattern.matcher("성동구").find()); //return true 
+0

這可能是個問題。 – Fairoz

回答

1

試試這個它對我有用:

public class MatcherMatch { 

public static void main(String[] args) { 
    Pattern pattern = Pattern.compile("\\p{IsHangul}"); 
    Matcher matcher = pattern.matcher("김인재 한국어/조선말"); 
    while(matcher.find()) { 
     System.out.println(matcher.group()); 
    } 
} 

屏幕截圖:enter image description here

+0

哦,上帝,我輸入了兩個「}」,而這絕對不符合韓文字符。謝謝,沒有你的代碼,我會花費太多時間來注意它。固定代碼在原郵政 – FranAguiar

+0

@FranAguiar這很好 –