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

时间:2019-02-16 14:31:36

标签: java string count

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

现在我在想这样的事情:

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

有没有更有效或更优雅的方法?

2 个答案:

答案 0 :(得分:2)

我非常喜欢流(自Java 8起):

reset_index(drop=True)
  

7

您的df_new=df.loc[~df.County.isin(df.loc[df[['Base_2007','Base_2011']].isna().\ any(axis=1),'County'])].reset_index(drop=True) State Year Base_2007 Base_2011 County 0 DM 2013 34.0 45.0 Dummy 1 DM 2012 34.0 45.0 Dummy 循环是另一个不错的解决方案。这是一个有效的版本:

    String str = "A string";

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

答案 1 :(得分: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);

//如果您不关心大写或小写,可以将它们都加起来并得到总数