Java中判斷字符串是中文或者英文的工具類分享
直接上代碼:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* <p>
* ClassName ShowChineseInUnicodeBlock
* </p>
* <p>
* Description 提供判斷字符串是中文或者是英文的一種思路
* </p>
*
* @author wangxu wangx89@126.com
* <p>
* Date 2014-9-16 下午06:45:35
* </p>
* @version V1.0
*
*/
public class ShowChineseInUnicodeBlock {
public static void main(String[] args) {
String str = "我愛你,!?():;“”、。";
char[] charArray = str.toCharArray();
for (int i = 0; i < charArray.length; i++) {
isChinese(charArray[i]);
}
String chinese = "中國(guó)god damn";
System.out.println(isContainChinese(chinese));
String english = "dfafdabac";
System.out.println(isEnglish(english));
}
/**
*
* <p>
* Title: isChinese
* </p>
* <p>
* Description: 該函數(shù)就用來打印一些字符看看屬于什么
* </p>
*
* @param c
*
*/
public static void isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS) {
System.out.println(c + "--CJK_UNIFIED_IDEOGRAPHS");
} else if (ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS) {
System.out.println(c + "--CJK_COMPATIBILITY_IDEOGRAPHS");
} else if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A) {
// CJK Unified Ideographs Extension WikipediaUnicode擴(kuò)展?jié)h字
// CJK Unified Ideographs Extension A 中日韓統(tǒng)一表意文字?jǐn)U展區(qū)A ; 表意文字?jǐn)U充A
// CJK Unified Ideographs Extension B 中日韓統(tǒng)一表意文字?jǐn)U展區(qū)B
System.out.println(c + "--CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A");
} else if (ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {// 通用標(biāo)點(diǎn)
System.out.println(c + "--GENERAL_PUNCTUATION");
} else if (ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION) {
System.out.println(c + "--CJK_SYMBOLS_AND_PUNCTUATION");
} else if (ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
System.out.println(c + "--HALFWIDTH_AND_FULLWIDTH_FORMS");
}
}
public static boolean isEnglish(String charaString) {
return charaString.matches("^[a-zA-Z]*");
}
public static boolean isContainChinese(String str) {// 檢測(cè)是否包含中文
String regEx = "[\\u4E00-\\u9FA5]+";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
if (m.find()) {
return true;
} else {
return false;
}
}
}
相關(guān)文章
SpringBoot項(xiàng)目實(shí)戰(zhàn)之加載和讀取資源文件
在項(xiàng)目的開發(fā)中,我們知道的是SpringBoot框架大大減少了我們的配置文件,但是還是留下了一個(gè)application.properties文件讓我們可以進(jìn)行一些配置,下面這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目實(shí)戰(zhàn)之加載和讀取資源文件的相關(guān)資料,需要的朋友可以參考下2021-10-10Python文件高級(jí)操作函數(shù)之文件信息獲取與目錄操作
這篇文章主要介紹了Python文件高級(jí)操作函數(shù)之文件信息獲取與目錄操作,在Python中,內(nèi)置了文件(File)對(duì)象。在使用文件對(duì)象時(shí),首先需要通過內(nèi)置的open()方法創(chuàng)建一個(gè)文件對(duì)象,然后通過該對(duì)象提供的方法進(jìn)行一些基本文件操作,需要的朋友可以參考下2023-05-05從Hello?World開始理解GraphQL背后處理及執(zhí)行過程
這篇文章主要為大家介紹了從Hello?World開始理解GraphQL背后處理過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Maven遠(yuǎn)程倉庫地址修改實(shí)現(xiàn)解析
這篇文章主要介紹了Maven遠(yuǎn)程倉庫地址修改實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11java?String到底有多長(zhǎng)?String超出長(zhǎng)度該如何解決
在Java中,由于字符串常量池的存在,String常量長(zhǎng)度限制取決于String常量在常量池中的存儲(chǔ)大小,下面這篇文章主要給大家介紹了關(guān)于java?String到底有多長(zhǎng)?String超出長(zhǎng)度該如何解決的相關(guān)資料,需要的朋友可以參考下2023-01-01Apache?Commons?Config管理配置文件核心功能使用
這篇文章主要為大家介紹了Apache?Commons?Config管理和使用配置文件核心深入探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12