導航:首頁 > 編程語言 > java判斷是否有中文

java判斷是否有中文

發布時間:2025-03-23 21:39:13

java 判斷是否有中文,以及它的位置

1、判斷輸入類型的最好法是正則表達式校驗2、確定中文文字的unicode范圍[\u4E00-\u9FA5]3、編寫正則表達式[\u4E00-\u9FA5]+,利用String.matches()方法判斷輸入值是否符合4、校驗不通過輸出提示codedemo:Strings="我是12";Stringreg

⑵ java怎麼把字元串中的的漢字取出來

1.判斷字元串是否全是漢字。

String str1 = "java判斷是否為漢字"

String str2 = "全為漢字"

String reg = "[\u4e00-\u9fa5]+"

boolean result1 = str1.matches(reg)//false

boolean result2 = str2.matches(reg)//true

2.提取字元串中的漢字。

String str = "java怎麼把asdasd字元串中的asdasd的漢字取出來"

String reg = "[^u4e00-u9fa5]"

str = str.replaceAll(reg, " ")

System.out.println(str)

3.判斷字元串中是否含有漢字。

boolean result = (str.length() == str.getBytes().length)//true:無漢字 false:有漢字

4.獲取字元串中漢字的個數。

int count = 0

String reg = "[\u4e00-\u9fa5]"

String str = "java獲取漢字Chinese的個數"

Pattern p = Pattern.compile(reg)

Matcher m = p.matcher(str)

while (m.find()) {for (int i = 0; i <= m.groupCount(); i++) {count = count + 1}}

System.out.println("共有漢字 " + count + "個 ")

⑶ java怎麼判斷輸入的是不是中文

你好,最簡單而且最保險的一種方法是:
這里舉個最復雜的例子:就是輸入了中文和英文的
String str = "....." ; //str是你輸入的東西
如果str.length() < str.getBytes().length 那麼輸入的肯定有中文
看測試代碼:
public class Chinese {
public static void main(String[] args) {
String str1 = "aaa" ;
String str2 = "中國" ;
String str3 = "中a" ;
isChinese(str1) ;
isChinese(str2) ;
isChinese(str3) ;
}
public static void isChinese(String str){
if(str.length() < str.getBytes().length){
System.out.println("有中文");
}else{
System.out.println("英文");
}
}
}

⑷ Java判斷字元串是中文還是英文

Java中判斷字元串的編碼有兩種思路:
一種是根據byte的長度判斷,英文的字母數字好標點符號都是一個byte,且值在0-255之間
另一種是根據中文的Unicode取值范圍判斷,這個就是把所以的范圍都包含,才能判斷正確,參考unicode中文范圍:

示例代碼:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringTest {
//英文佔1byte,非英文(可認為是中文)佔2byte,根據這個特性來判斷字元
public static boolean checkChar(char ch) {
if ((ch + "").getBytes().length == 1) {
return true;//英文
} else {
return false;//中文
}
}
public static String checkString(String str) {
String res = "";
if (str != null) {
for (int i = 0; i < str.length(); i++) {
//只要字元串中有中文則為中文
if (!checkChar(str.charAt(i))) {
res = "中文";
break;
} else {
res = "英文";
}
}
}
return res;
}
//判斷是不是中文
public static 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 boolean isEnglish(String charaString) {
return charaString.matches("^[a-zA-Z]*");
}
//根據中文unicode范圍判斷u4e00 ~ u9fa5不全
public static String isChinese(String str) {
String regEx1 = "[\\u4e00-\\u9fa5]+";
String regEx2 = "[\\uFF00-\\uFFEF]+";
String regEx3 = "[\\u2E80-\\u2EFF]+";
String regEx4 = "[\\u3000-\\u303F]+";
String regEx5 = "[\\u31C0-\\u31EF]+";
Pattern p1 = Pattern.compile(regEx1);
Pattern p2 = Pattern.compile(regEx2);
Pattern p3 = Pattern.compile(regEx3);
Pattern p4 = Pattern.compile(regEx4);
Pattern p5 = Pattern.compile(regEx5);
Matcher m1 = p1.matcher(str);
Matcher m2 = p2.matcher(str);
Matcher m3 = p3.matcher(str);
Matcher m4 = p4.matcher(str);
Matcher m5 = p5.matcher(str);
if (m1.find() || m2.find() || m3.find() || m4.find() || m5.find())
return "中文";
else
return "英文";
}
public static void main(String[] args) {
System.out.println("使用長度判斷:");
System.out.println(checkString("Hello++"));
System.out.println(checkString("Hello++。、,?"));
System.out.println(checkString("Hello++編程"));
System.out.println(checkString("編程"));

System.out.println("\r\n使用正則表達式判斷:");
System.out.println(isChinese("Hello++"));
System.out.println(isChinese("Hello++。、,?"));
System.out.println(isChinese("Hello++編程"));
System.out.println(isChinese("編程"));

System.out.println("\r\n使用Character.UnicodeBlock");
System.out.println(isChinese('h')?"中文":"英文");
System.out.println(isChinese(',')?"中文":"英文");
System.out.println(isChinese('。')?"中文":"英文");
System.out.println(isChinese('編')?"中文":"英文");
}
}

⑸ java 判斷字元串中是否有中文符號

學習交流:
622497727

Java判斷一個字元串是否有中文是利用Unicode編碼來判斷,因為中文的編碼區間為:0x4e00--0x9fbb,不過通用區間來判斷中文也不非常精確,因為有些中文的標點符號利用區間判斷會得到錯誤的結果。而且利用區間判斷中文效率也並不高,例如;str.substring(i, i + 1).matches("[\\u4e00-\\u9fbb]+"),就需要遍歷整個字元串,如果字元串太長效率非常低,而且判斷標點還會錯誤

⑹ java怎麼檢驗字元串是否全為純中文

Java判斷一個字元串是否有中文一般情況是利用Unicode編碼(CJK統一漢字的編碼區間:0x4e00–0x9fbb)的正則來做判斷,但是其實這個區間來判斷中文不是非常...

⑺ JAVA有中文版的嗎

JAVA沒有中外之分,他是一個國際版,JAVA中文意思是:計算機編程語言。

Java是一種面向對象的編程語言,它不僅吸收了c++語言的優點,而且拋棄了c++中難以理解的多繼承、指針的概念,因此Java語言具有功能強大且易於使用的兩個特點。

作為靜態面向對象編程語言的代表,Java語言是面向對象理論的優秀實現,允許程序員優雅地思考復雜的編程。

在sunMicrosystems工作的Jamesgosling等人在20世紀90年代早期開發了Java語言的原型。最初命名為Oak,是針對家用電器等小型系統的編程語言,應用於電視機、電話、鬧鍾、烤麵包機等家用電器的控制和通信。

(7)java判斷是否有中文擴展閱讀:

JAVA和互聯網的起源:

1994年6月,在與約翰·蓋奇、詹姆斯·高斯林、比爾·喬伊、帕特里克·諾頓、韋恩·羅斯和埃里克·施密特進行了為期三天的頭腦風暴後,團隊決定再次改變他們的關注點,這次是將這項技術應用到萬維網上。

他們認為,隨著馬賽克瀏覽器的出現,互聯網正在演變成他們在有線電視上看到的那種高度互動的景象。作為原型,PatrickNORTON編寫了一個小型web瀏覽器WebRunner,後來改名為HotJava[12]。

1994年10月,HotJava和Java平台向企業高管進行了演示。在1994年,Java版本1.0a是可以下載的,但是Java和HotJava瀏覽器的第一次公開發布是在1995年3月23日的SunWorld上。Sun的科學主管Johngeiger宣布Java技術。

與此同時,網景執行副總裁馬克·安德森(markAnderson)出人意料地宣布,網景將在其瀏覽器中加入對Java的支持。1996年1月,Sun成立了Java業務組來開發Java技術。

閱讀全文

與java判斷是否有中文相關的資料

熱點內容
楊冪公司需要程序員嗎 瀏覽:227
排列組合怎麼在數學編譯器上輸入 瀏覽:161
美的空調壓縮機不啟動帶電 瀏覽:61
程序員熬夜猝死的概率 瀏覽:164
網站伺服器如何入侵 瀏覽:125
加密文件禁止發送 瀏覽:12
單片機最快啟動時間 瀏覽:670
程序員怎麼建網盤服務 瀏覽:834
android下載網路視頻 瀏覽:89
idea編譯器皮膚 瀏覽:757
程序員後腰酸脹什麼原因 瀏覽:133
安卓手機群聊如何設置接龍 瀏覽:122
程序員區縣 瀏覽:662
python中n維變數擬合函數 瀏覽:543
ps下載游戲解壓 瀏覽:699
altera公司編譯軟體 瀏覽:65
刪除了微信app怎麼恢復聊天記錄 瀏覽:773
硬體驗證實驗一信源編解碼實驗 瀏覽:485
foxitpdfifilter 瀏覽:988
ruby編譯dll 瀏覽:469