CryBoyJava_WF
进阶得小白鼠
2018-03-02 03:09
采纳率: 66.7%
浏览 834
已采纳

判断字符串以多个指定的字符串开头

如题,需求:
需要判断一串纯数字类型的字符串是否已 20 21 22 23 24开头
用什么方法可以
String.startWith("20,21,22,23,24") 这样测试了下 不行
求大哥指点下


  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • albertchendao
    o山人o 2018-03-02 03:14
    已采纳

    用正则

             String regex = "2[0-4]\\d*";
            System.out.println(Pattern.matches(regex, "20"));
            System.out.println(Pattern.matches(regex, "201"));
            System.out.println(Pattern.matches(regex, "20a"));
            System.out.println(Pattern.matches(regex, "211"));
            System.out.println(Pattern.matches(regex, "221"));
            System.out.println(Pattern.matches(regex, "231"));
            System.out.println(Pattern.matches(regex, "241"));
            System.out.println(Pattern.matches(regex, "251"));
    
    点赞 评论
  • weixin_38421803
    weixin_38421803 2018-03-02 03:13

    你把要判断的那几个数字放在集合中然后遍历,startwith只能判断一个字符串图片说明

    点赞 评论
  • weixin_38421803
    weixin_38421803 2018-03-02 03:15

    你把要判断的那几个数字放在集合中然后遍历,startwith只能判断一个字符串

    点赞 评论
  • CryBoyJava_WF
    进阶得小白鼠 2018-03-02 03:16

    Pattern p = Pattern.compile("^[2][0,1,2,2,4,5][0-9]+");
    Matcher m = p.matcher(code);

                        多谢 各位了 ,想到了  ,着急的一下子忘记了
    
    点赞 评论
  • zhongsan123
    才沐木 2018-03-02 03:18

    是说哪些字符串是以这些数字开头?如果是,那加上if语句一个一个判断就行了,if("225453543".startsWith("20")){};请把需求和样本给出来看下

    点赞 评论
  • chenqinglin163
    怪人伽利略 2018-03-02 03:21

    把20 21 22 23 24放到list 集合,再遍历集合通过String.startWit 判断。

    点赞 评论
  • qq_34927683
    龙师火 2018-03-02 03:35

    #include
    using namespace std;
    int main()
    {
    char ch;
    int chInput[16];
    int chEquals[]={
    2,0,2,1,2,2,2,3,2,4
    };
    int i=0;
    while((ch=getchar())!='\n'&&i<10){
    chInput[i]=ch-48;
    i++;
    }
    i=0;
    for(i;i<10;i++){
    if(chInput[i]==chEquals[i])
    continue;
    else
    break;
    }
    if(i==10)
    cout<<"YES";
    else
    cout<<"NO";
    return 0;
    }

    点赞 评论

相关推荐