2017-05-29 35 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这很好 –