⑴ java怎么识别一个字符串中有汉字
可以使用正则表达式+中文字符编码区间验证一个字符串中是否包含汉字
代码如下:
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 + "个 ");
}
⑵ java 判断字符是汉字还是字母
Unicode:汉字的Unicode编码范围为渣数
\u4E00-\u9FA5
\uF900-\uFA2D
如果不在如州首这个范围内就不是汉字了. 所以只要得到一个char判断其是否在以上范围内就可迹桥以了。
U+4e00 ~ U+9FB0 原来 GB2312 和 GBK 中的汉字
U+3400 ~ U+4DB6 包括 GB18030.2000 中那些增加的汉字
⑶ java判断字符串是拼音还是汉字
public static void main(String[] args) {
Pattern p_str = Pattern.compile("[\\u4e00-\\u9fa5]+");
String str="我是汉字";
Matcher m = p_str.matcher(str);
if(m.find()&&m.group(0).equals(str)){
System.out.println("Ok");
}
} 这个就可以判断,输入任意个字符,必须所有的都是中专文属,才算是
⑷ java中判断字符是数字还是汉字
方法一:利用正则表达式
publicclassTestone{
publicstaticvoidmain(String[]args){
Stringstr="123456";
booleanresult=str.matches("[0-9]+");
if(result==true){
System.out.println("该字符串是纯数字");}else{System.out.println("该字符串不是纯数字");}}}
方法二:利用Pattern.
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassTestone{
publicstaticvoidmain(String[]args){
Stringstr="123456";
Patternpattern=Pattern.compile("[0-9]{1,}");
Matchermatcher=pattern.matcher((CharSequence)str);
booleanresult=matcher.matches();
System.out.println("该字符串是纯数字");}else{System.out.println("该字符串不是纯数字");}}}
http://..com/link?url=Fe-GdeLbnNNJ2Q4_Daej5sqVwm636HiLzZ260kOp_NSWoT8lhULoKk1eOB7mgcgC--uWZ8_QnZOu_QjJJUfASa
⑸ java 判断字符串是否含有中文
Java代码
package com.zakisoft.ch;
public class IsChineseOrNot {
// GENERAL_PUNCTUATION 判断中文的“号
// CJK_SYMBOLS_AND_PUNCTUATION 判断中文的。号
// HALFWIDTH_AND_FULLWIDTH_FORMS 判断中文的,号
private static final boolean isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
return true;
}
return false;
}
public static final boolean isChinese(String strName) {
char[] ch = strName.toCharArray();
for (int i = 0; i < ch.length; i++) {
char c = ch[i];
if (isChinese(c)) {
return true;
}
}
return false;
}
public static void main(String[] args) {
System.out.println(isChinese("き"));
System.out.println(isChinese("test,.?!%^&*(){}[]"));
System.out.println(isChinese("测试"));
System.out.println(isChinese("“测试”,。?!%……&*()——{}【】”"));
}
public static final boolean isChineseCharacter(String chineseStr) {
char[] charArray = chineseStr.toCharArray();
for (int i = 0; i < charArray.length; i++) {
if ((charArray[i] >= 0x4e00) && (charArray[i] <= 0x9fbb)) {
return true;
}
}
return false;
}
/**
* @deprecated; 弃用。和方法isChineseCharacter比效率太低。
* */
public static final boolean isChineseCharacter_f2() {
String str = "!?";
for (int i = 0; i < str.length(); i++) {
if (str.substring(i, i + 1).matches("[\\一-\\?]+")) {
return true;
}
}
return false;
}
}
System.out.println(isChinese("き"));
System.out.println(isChinese("test,.?!%^&*(){}[]"));
System.out.println(isChinese("测试"));
System.out.println(isChinese("“测试”,。?!%……&*()——{}【】”"));
运行结果为:
false
false
true
true
⑹ java如何判断一个字符是不是中文
Unicode:汉字来的Unicode编码范围为自
\u4E00-\u9FA5
\uF900-\uFA2D
如果不在这个范围内就不是汉字了. 所以只要得到一个char判断其是否在以上范围内就可以了。
U+4e00 ~ U+9FB0 原来 GB2312 和 GBK 中的汉字
U+3400 ~ U+4DB6 包括 GB18030.2000 中那些增加的汉字
⑺ java 如何判断字符串首个字符是不是中文
// 判断一个字符是否唯首是中文散山颂
public static boolean isChinese(char c) {
return c >= 0x4E00 && c <= 0x9FA5;// 根据字节码判断
}
// 判断一个字符串是否含有中文
public static boolean isChinese(String str) {
if (str == null) return false;
for (char c : str.toCharArray()) {
if (isChinese(c)) return true;// 有一个中文字冲郑符就返回
}
return false;
}
⑻ java判断是否为汉字 和 是否有汉字
1、打开eclipse或任意可以编译并运行的IDE程序,准备我们的练习:我创建好工程名和包名,并命名这个功能类为:StringTrunc。
⑼ java 判断字符是否为汉字
public static void main(String[] args) {
Pattern p_str = Pattern.compile("[\\u4e00-\\u9fa5]+");
String str="我是汉字";
Matcher m = p_str.matcher(str);
if(m.find()&&m.group(0).equals(str)){
System.out.println("Ok");
}
} 这个就可以判断,输入任意个字符,必须所有的都是中文,才算是
⑽ Java 判断字符串中是否含有汉字
Java判断字符串中是否包含汉字
Java代码
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IfHanZi {
public static void main(String[] args) {
//方法一:
String s1 = "我是中国人";
String s2 = "imchinese";
String s3 = "im中国人";
System.out.println(s1 + ":" + new String(s1).length());
System.out.println(s2 + ":" + new String(s2).length());
System.out.println(s3 + ":" + new String(s3).length());
System.out.println((s1.getBytes().length == s1.length()) ? "s1无汉字":"s1有汉字");
System.out.println((s2.getBytes().length == s2.length()) ? "s2无汉字":"s2有汉字");
System.out.println((s3.getBytes().length == s3.length()) ? "s3无汉字":"s3有汉字");
//方法二:
int count = 0;
String regEx = "[\\u4e00-\\u9fa5]";
String str = "中文fd我是中国人as ";
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 + "个 ");
}
}