Java判斷字符串是否含有亂碼實例代碼
更新時間:2018年11月12日 10:44:14 作者:風(fēng)遠陌
本文通過實例代碼給大家介紹了Java判斷字符串是否含有亂碼的方法,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
具體代碼如下所示:
/** * 判斷字符是否是中文 * * @param c 字符 * @return 是否是中文 */ 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; } /** * 判斷字符串是否是亂碼 * * @param strName 字符串 * @return 是否是亂碼 */ public static boolean isMessyCode(String strName) { Pattern p = Pattern.compile("\s*|t*|r*|n*"); Matcher m = p.matcher(strName); String after = m.replaceAll(""); String temp = after.replaceAll("\p{P}", ""); char[] ch = temp.trim().toCharArray(); float chLength = ch.length; float count = 0; for (int i = 0; i < ch.length; i++) { char c = ch[i]; if (!Character.isLetterOrDigit(c)) { if (!isChinese(c)) { count = count + 1; } } } float result = count / chLength; if (result > 0.4) { return true; } else { return false; } } public static void main(String[] args) { System.out.println(isMessyCode("韩顺平")); System.out.println(isMessyCode("你好")); }
總結(jié)
以上所述是小編給大家介紹的Java判斷字符串是否含有亂碼實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
SpringBoot單元測試使用@Test沒有run方法的解決方案
這篇文章主要介紹了SpringBoot單元測試使用@Test沒有run方法的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01java中extends與implements的區(qū)別淺談
java中extends與implements的區(qū)別淺談,需要的朋友可以參考一下2013-03-03Java接口的作用_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了Java接口的作用,涉及到接口的規(guī)范相關(guān)知識,需要的的朋友參考下2017-04-04創(chuàng)建好SpringBoot項目后但是找不到Maven的解決方法
在使用IDEA專業(yè)版創(chuàng)建好SpringBoot項目后,發(fā)現(xiàn)上方導(dǎo)航欄的運行按鈕是灰色的,而且左側(cè)導(dǎo)航欄的pom.xml的圖標(biāo)顏色也不是正常的,點開右側(cè)導(dǎo)航欄的Maven后,發(fā)現(xiàn)Maven找不到,所以本文介紹了創(chuàng)建好SpringBoot項目后但是找不到Maven的解決方法,需要的朋友可以參考下2024-10-10如何在 Java 中利用 redis 實現(xiàn) LBS 服務(wù)
基于位置的服務(wù),是指通過電信移動運營商的無線電通訊網(wǎng)絡(luò)或外部定位方式,獲取移動終端用戶的位置信息,在GIS平臺的支持下,為用戶提供相應(yīng)服務(wù)的一種增值業(yè)務(wù)。下面我們來一起學(xué)習(xí)一下吧2019-06-06