国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

檢測字符串中是否含有中文

2019-11-09 20:47:43
字體:
來源:轉載
供稿:網(wǎng)友
檢測字符串中是否含有中文:思路:我們都知道,英文字符串和中文字符串最大的區(qū)別在于每一個英文字符占用一個字節(jié),而每一個中文字符占用兩個字節(jié)。知道這一點,就為我們檢測字符串中是否有中文提供了實現(xiàn)思路,那就是將字符串先轉換為字節(jié)數(shù)組,并獲取字節(jié)數(shù)組的長度,然后與原字符串的長度作比較,如果字節(jié)數(shù)組的長度大于字符串的長度,那么,目標字符串中就含有中文字符。代碼:public static boolean isContainChinese(String str){return !(str.length()==str.getBytes().length);}測試:將測試字符串String|testString="abc中文def"作為參數(shù),執(zhí)行此方法,返回結果為"true",也就是測試字符串中包含中文,測試結果正確。問題:到這里,是不是這個問題就解決了呢?我們再來做一個測試:我們將測試字符串String|testString2="abcdef"作為參數(shù),執(zhí)行此方法,返回結果也為"true",看到這你會發(fā)現(xiàn),不對啊,我的測試字符串里沒有中文的。細心的人一眼就可以看出問題所在了,原因是測試字符串中含有"def"這三個全角字符。我們都知道,中文是全角字符,每一個占用兩個字節(jié),但是!不是所有的全角字符都是中文,這就是問題所在?,F(xiàn)在我們來具體說一下解決方案:java代碼檢測:思路:中文在Unicode中有一個編碼區(qū)間(4e00-9fa5),我們只需要逐個檢測字符串中的字符是否有在這個編碼區(qū)間的就可以了代碼:public static boolean isIncludeChinese(String str){boolean flag = false;for (int i = 0; i < str.length(); i++) {flag = str.substring(i,i+1).matches("[//u4e00-//u9fa5]+");if(flag)return flag;}return flag;}測試:將String|testStr = "abcdef"作為參數(shù),執(zhí)行方法,返回false將String|testStr = "abc中文"作為參數(shù),執(zhí)行方法,返回truejs代碼檢測:思路:同Java代碼檢測的思路相同代碼:function isContainChinese(str){return (/.*[/u4e00-/u9fa5]+.*$/.test(str));}測試:執(zhí)行代碼:var testStr = "abc中文def";alert(isContainChinese(testStr));頁面彈出"true"執(zhí)行代碼:var testStr = "abcdef";alert(isContainChinese(testStr));頁面彈出"false"到個里,檢測字符串中是否含有中文的問題就解決了,另外,在網(wǎng)上看到一個有趣的小程序,貼出來分享:import java.io.*;public class Demo9 {public static void main(String[] args) {FileWriter fw = null;try {fw = new FileWriter("D:/TestFileWriterUnicod.txt");for(int c=0; c<=50000; c++) {fw.write(c);}fw.close();} catch(FileNotFoundException e) {System.out.PRintln("系統(tǒng)沒有找到該文件!");System.exit(-1);} catch(IOException e) {System.out.println("文件讀寫出現(xiàn)錯誤!");System.exit(-1);}System.out.println("/n/n打印Unicode完畢!");}}執(zhí)行完這段代碼后,到計算機D盤,打開TestFileWriterUnicod.txt,就可以看到所有的Unicode字符了
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 依安县| 宁国市| 尼玛县| 灵山县| 武威市| 本溪| 临澧县| 金溪县| 教育| 天全县| 广宗县| 桃园县| 华安县| 台前县| 政和县| 雷州市| 拜泉县| 平乐县| 梅州市| 西乡县| 达尔| 汉源县| 高密市| 青冈县| 格尔木市| 乌兰浩特市| 灵宝市| 疏勒县| 富蕴县| 南岸区| 博乐市| 齐河县| 广西| 莆田市| 张家港市| 仁化县| 东阿县| 平顺县| 田阳县| 资溪县| 文安县|