⑴ 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 + "個 ");
}
}