java怎么识别一个字符串中有汉字
发布网友
发布时间:2022-05-05 09:53
我来回答
共5个回答
热心网友
时间:2022-06-27 07:46
可以使用正则表达式+中文字符编码区间验证一个字符串中是否包含汉字
代码如下:
public static void main(String[] args) {
int count = 0;
String regEx = "[\\u4e00-\\u9fa5]";
//System.out.println(regEx);
String str = "中文fdas ";
//System.out.println(str);
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
while (m.find()) {
for (int i = 0; i <= m.groupCount(); i++) {
count = count + 1;
}
}
System.out.println("共有 " + count + "个 ");
}
热心网友
时间:2022-06-27 07:46
String input = "中文语言fd何as最近几天dafds工作dfds效率不高fdsf番dfsfdsa啊";
String temp = null;
Pattern p = Pattern.compile("[\u4E00-\u9FA5]+");
Matcher m = p.matcher(input);
while (m.find())
{
temp = m.group(0);
System.out.println(temp + ":" + temp.length());
}
热心网友
时间:2022-06-27 07:47
一般来说,找到编号最开头和最后面的汉字,然后用你取得的编号一比较就知道了。
具体是什么汉字可以网上搜索“获取汉字拼音”
热心网友
时间:2022-06-27 07:47
String str = "test中文汉字";
String regEx = "[//u4e00-//u9fa5]";
/**
* 判断有没有中文
*/
if (str.getBytes().length == str.length()) {
System.out.println("无汉字");
} else {
System.out.println("有汉字");
}
/**
* 如果有则打印出来
*/
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
while (m.find()) {
System.out.print(m.group(0) + "");
}
热心网友
时间:2022-06-27 07:48
可以用正则表达式!
给你个网址吧
http://www.cnblogs.com/sunzn/archive/2013/07/12/3186518.html