Java判断字符串中是否包含中文方法
今天和同事在讨论一个问题,需要检查“输入的字符串中是否包含中文”,刚开始想到是用正则表达式,正则表达式中是以[u4e00-u9fa5]来全匹配字符是否是中文,但现在面临的问题是这个字符串中还可能包含英文字符、数字、特殊字符,一时也没想出能匹配该场景的正则表达式,后来在网上搜了下,可以使用Matcher类来解决该问题,大致的代码实现如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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;
}
|