2022.1.27-----leetcode.2047

//还是正则比较简单 
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;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值