目前,我有一个简单的问题要解决:
给定String str
,计算字符串中字母文字数量的最佳方法是什么?
现在我在想这样的事情:
int letterCount = 0;
for(int i = 0 : str){
String check = "" + str.charAt(i);
if(check.isLetter())
letterCount++
}
有没有更有效或更优雅的方法?
答案 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);
//如果您不关心大写或小写,可以将它们都加起来并得到总数