我想检测任何亚洲字符,我的代码在大多数情况下都是有效的,但对于韩语来说不行,我无法检测字符串何时有韩语字符。
这是我的密码:
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发布于 2017-05-29 12:01:55
这样做吧,对我来说很管用:
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());
}
}截图:

https://stackoverflow.com/questions/44241685
复制相似问题