Java文字列に中国語メソッドが含まれているかどうかを判断

932 ワード

今日同僚と1つの問題を討論して、“入力する文字列の中で中国語を含むかどうか”を検査する必要があって、ちょうど正則の表現を使うことを思い付いて、正則の表現の中で[u 4 e 00-u 9 fa 5]で完全に文字が中国語であるかどうかを一致させて、しかし今直面する問題はこの文字列の中でまた英語の文字、数字、特殊な文字を含むことができることで、このシーンにマッチした正規表現は思いつかなかったが、ネットで検索すると、Matcherクラスを使ってこの問題を解決することができ、大まかなコードは以下のように実現された.

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class demo {
static String regEx = "[\u4e00-\u9fa5]";
static Pattern pat = Pattern.compile(regEx);
public static void main(String[] args) {
String input = "Hell world!";
System.out.println(isContainsChinese(input));
input = "hello world";
System.out.println(isContainsChinese(input));
}
 
public static boolean isContainsChinese(String str)
{
Matcher matcher = pat.matcher(str);
boolean flg = false;
if (matcher.find())    {
flg = true;
}
return flg;
}