1. 程式人生 > >如何在Java程式碼中檢查字串中是否包含中文?

如何在Java程式碼中檢查字串中是否包含中文?

今天和同事在討論一個問題,需要檢查“輸入的字串中是否包含中文”,剛開始想到是用正則表示式,正則表示式中是以[u4e00-u9fa5]來全匹配字元是否是中文,但現在面臨的問題是這個字串中還可能包含英文字元、數字、特殊字元,一時也沒想出能匹配該場景的正則表示式,後來在網上搜了下,可以使用Matcher類來解決該問題,大致的程式碼實現如下:

[code lang=”java”]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;
}[/code]