有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何计算字符串中字母文字的数量?

目前我有一个简单的问题要解决: 给定一个String str,计算字符串中字母文字量的最佳方法是什么

现在我在想这样的事情:

int letterCount = 0;
for(int i = 0 : str){
    String check = "" + str.charAt(i);
        if(check.isLetter())
            letterCount++
}

有没有更高效、更优雅的方法


共 (2) 个答案

  1. # 1 楼答案

    我非常喜欢流(从Java 8开始):

        String str = "A string";
    
        long letterCount = str.chars().filter(Character::isLetter).count();
        System.out.println(letterCount);
    

    7

    你的for循环是另一个很好的解决方案。以下是一个有效的版本:

        for (int index = 0; index < str.length(); index++) {
            if (Character.isLetter(str.charAt(index))) {
                letterCount++;
            }
        }
    
  2. # 2 楼答案

    String str = "#CodeWines65"; 
    int upper = 0, lower = 0, number = 0, special = 0; 
    
    for(int i = 0; i < str.length(); i++) 
        { 
            char ch = str.charAt(i); 
            if (ch >= 'A' && ch <= 'Z') 
                upper++; 
            else if (ch >= 'a' && ch <= 'z') 
                lower++; 
            else if (ch >= '0' && ch <= '9') 
                number++; 
            else
                special++; 
        } 
    
    System.out.println("Lower case letters : " + lower); 
    System.out.println("Upper case letters : " + upper); 
    System.out.println("Number : " + number); 
    System.out.println("Special characters : " + special);
    

    //如果你不关心大写或小写,你可以同时添加它们&;得到总数