//还是正则比较简单
public static int countValidWords(String sentence) {
String[] tokens=sentence.split(" ");
int cnt=0;
for (int i = 0; i < tokens.length; i++) {
if(tokens[i].equals(""))
continue;
else if(tokens[i].length()==1&&
((tokens[i].charAt(0)>='a'&&tokens[i].charAt(0)<='z')||(tokens[i].charAt(0)=='!')||(tokens[i].charAt(0)==',')||(tokens[i].charAt(0)=='.')))
cnt++;
else if(!tokens[i].contains("0")&&
!tokens[i].contains("1")&&
!tokens[i].contains("2")&&
!tokens[i].contains("3")&&
!tokens[i].contains("4")&&
!tokens[i].contains("5")&&
!tokens[i].contains("6")&&
!tokens[i].contains("7")&&
!tokens[i].contains("8")&&
!tokens[i].contains("9")&&
!tokens[i].substring(0, tokens[i].length()-1).contains("!")&&
!tokens[i].substring(0, tokens[i].length()-1).contains(",")&&
!tokens[i].substring(0, tokens[i].length()-1).contains("."))
{
if(!tokens[i].contains("-"))
cnt++;
if (tokens[i].contains("-")&&
tokens[i].lastIndexOf("-")-tokens[i].indexOf("-")==0&&
tokens[i].charAt(0)!='-'&&
tokens[i].charAt(tokens[i].length()-1)!='-'&&
tokens[i].charAt(tokens[i].indexOf("-")-1)>='a'&&
tokens[i].charAt(tokens[i].indexOf("-")-1)<='z'&&
tokens[i].charAt(tokens[i].indexOf("-")+1)>='a'&&
tokens[i].charAt(tokens[i].indexOf("-")+1)<='z')
cnt++;
else
continue;
}
else
continue;
}
return cnt;
}
2022.1.27-----leetcode.2047
最新推荐文章于 2024-08-27 09:16:55 发布