亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JAVA 統(tǒng)計字符串中中文,英文,數(shù)字,空格,特殊字符的個數(shù)

 更新時間:2019年06月14日 10:27:48   作者:zsq_fengchen  
這篇文章主要介紹了JAVA 統(tǒng)計字符串中中文,英文,數(shù)字,空格,特殊字符的個數(shù) ,本文通過一段代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

引言

      可以根據(jù)各種字符在Unicode字符編碼表中的區(qū)間來進行判斷,如數(shù)字為'0'~'9'之間,英文字母為'a'~'z'或'A'~'Z'等,Java判斷一個字符串是否有中文是利用Unicode編碼來判斷,因為中文的編碼區(qū)間為:0x4e00--0x9fbb, 但通用區(qū)間來判斷中文也不非常精確,因為有些中文的標點符號利用區(qū)間判斷會得到錯誤的結(jié)果。所以通過Character.UnicodeBlock來進行判斷。代碼如下:

package cn.csrc.base.count;
public class CountCharacter {
  public static void main(String[] args) {
    String str ="我愛你abcd123中國 #!";
    CountCharacter countCharacter = new CountCharacter();
    countCharacter.count(str);
  }
  /**中文字符 */
  private int chCharacter = 0;
  /**英文字符 */
  private int enCharacter = 0;
  /**空格 */
  private int spaceCharacter = 0;
  /**數(shù)字 */
  private int numberCharacter = 0;
  /**其他字符 */
  private int otherCharacter = 0;
  //記錄中文字符
   private StringBuilder sb1=new StringBuilder();
  //記錄英文字符
   private StringBuilder sb2=new StringBuilder();
  //記錄數(shù)字
   private StringBuilder sb3=new StringBuilder();
  //記錄特殊字符
   private StringBuilder sb4=new StringBuilder();
  /***
  * 統(tǒng)計字符串中中文,英文,數(shù)字,空格等字符個數(shù)
   * @param str 需要統(tǒng)計的字符串
   */
  public void count(String str) {
    if(str.equals("") || str==null){
      System.out.println("字符串為空");
      return;
    }
    for (int i = 0; i < str.length(); i++) {
      char tmp = str.charAt(i);
      if ((tmp >= 'A' && tmp <= 'Z') || (tmp >= 'a' && tmp <= 'z')) {
        enCharacter ++;
        sb2.append(tmp+" ");
      } else if ((tmp >= '0') && (tmp <= '9')) {
        numberCharacter ++;
        sb3.append(tmp +" ");
      } else if (tmp ==' ') {
        spaceCharacter ++;
      } else if (isChinese(tmp)) {
        chCharacter ++;
        sb1.append(tmp+" ");
      } else {
        otherCharacter ++;
        sb4.append(tmp +" ");
      }
    }
      System.out.println("字符串:" + str + " \r\n");
      System.out.println("中文字符有:" + chCharacter +"個 ("+sb1.toString()+")");
      System.out.println("英文字符有:" + enCharacter +"個 ("+sb2.toString()+")");
      System.out.println("數(shù)字有:" + numberCharacter+"個 ("+sb3.toString()+")");
      System.out.println("空格有:" + spaceCharacter+"個");
      System.out.println("其他字符有:" + otherCharacter+"個 ("+sb4.toString()+")");
    }
    /***
    * 判斷字符是否為中文
     * @param ch 需要判斷的字符
     * @return 中文返回true,非中文返回false
    */
    private boolean isChinese(char ch) {
      //獲取此字符的UniCodeBlock
      Character.UnicodeBlock ub = Character.UnicodeBlock.of(ch);
      // GENERAL_PUNCTUATION 判斷中文的“號 
       // CJK_SYMBOLS_AND_PUNCTUATION 判斷中文的。號 
       if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS 
       || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOG  RAPHS_EXTENSION_B 
     || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS 
 || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {
      System.out.println(ch + " 是中文");
      //sb1.append(ch+" ");
      return true;
    }
    return false;
  
   }
}

  結(jié)果如下:

     

總結(jié)

以上所述是小編給大家介紹的JAVA 統(tǒng)計字符串中中文,英文,數(shù)字,空格,特殊字符的個數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • java如何讀取某個文件夾中的全部文件(包括子文件夾)

    java如何讀取某個文件夾中的全部文件(包括子文件夾)

    這篇文章主要介紹了java如何讀取某個文件夾中的全部文件(包括子文件夾),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 使用Mybatis對數(shù)據(jù)庫進行單表操作的實現(xiàn)示例

    使用Mybatis對數(shù)據(jù)庫進行單表操作的實現(xiàn)示例

    這篇文章主要介紹了使用Mybatis對數(shù)據(jù)庫進行單表操作的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Spring的@CrossOrigin注解使用與CrossFilter對象自定義詳解

    Spring的@CrossOrigin注解使用與CrossFilter對象自定義詳解

    這篇文章主要介紹了Spring的@CrossOrigin注解使用與CrossFilter對象自定義詳解,跨域,指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本,它是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制,所謂同源是指,域名,協(xié)議,端口均相同,需要的朋友可以參考下
    2023-12-12
  • Java?詳細講解用堆解決Top-k問題

    Java?詳細講解用堆解決Top-k問題

    TopK問題即在N個數(shù)中找出最大的前K個,這篇文章將詳細講解如何利用小根堆的方法解決TopK問題,文中代碼具有一定參考價值,快跟隨小編一起學(xué)習(xí)一下吧
    2022-04-04
  • SpringBoot策略模式的實踐使用

    SpringBoot策略模式的實踐使用

    這篇文章主要介紹了SpringBoot 策略模式的實踐使用,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot,感興趣的朋友可以了解下
    2021-04-04
  • Java中打jar包以及如何調(diào)用包方法演示

    Java中打jar包以及如何調(diào)用包方法演示

    這篇文章主要給大家介紹了關(guān)于Java中打jar包以及如何調(diào)用包的相關(guān)資料,jar包的全稱是java archive,jar包本質(zhì)就是一種壓縮包,在Java開發(fā)中一般是用來壓縮類的一個包,需要的朋友可以參考下
    2023-09-09
  • 詳談Spring框架之事務(wù)管理

    詳談Spring框架之事務(wù)管理

    下面小編就為大家?guī)硪黄斦凷pring框架之事務(wù)管理。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • SpringBoot使用注解進行分頁的實現(xiàn)示例

    SpringBoot使用注解進行分頁的實現(xiàn)示例

    分頁使用可以說非常普遍了,有時候會需要非常靈活的方式去開啟或關(guān)閉分頁,嘗試使用一下注解的方式來進行分頁,本文主要介紹了SpringBoot使用注解進行分頁的實現(xiàn)示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 詳解用JWT對SpringCloud進行認證和鑒權(quán)

    詳解用JWT對SpringCloud進行認證和鑒權(quán)

    這篇文章主要介紹了詳解用JWT對SpringCloud進行認證和鑒權(quán),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java實現(xiàn)線程安全單例模式的五種方式的示例代碼

    Java實現(xiàn)線程安全單例模式的五種方式的示例代碼

    這篇文章主要介紹了Java中實現(xiàn)線程安全單例模式的五種方式:餓漢式、枚舉單例、懶漢式、DCL懶漢式和靜態(tài)內(nèi)部類懶漢單例,感興趣的可以了解一下
    2022-03-03

最新評論