我要做一个参数校验,传进来的参数是String 类型,我要判断它第一位是否是 大写的 C,后四位是否是 char类型,
判断要怎么写?
XDJM 帮帮忙了 

解决方案 »

  1.   

    后四位基本基本可以肯定是char类型第一位string#charAt...
      

  2.   

    String bb= "Cb测试1";
    System.out.println(bb.matches("C.{4}"));
      

  3.   

    上面的写错
    应该是:/C[a-z]{4}/ 
      

  4.   

    1、后四位是否是 char类型 ,是否指 A-Z 或 a-z 或0-9 ,至少我是这么理解的来写下面的代码的;
    import java.util.regex.Matcher ;
    import java.util.regex.Pattern ;
    public class Test{
    public static void main(String [] args){

    if (args.length != 1){
    System.out.println("eg: java Test Cxxxx...") ;
    System.exit(0) ;
    }
    System.out.println("args[0] = "+ args[0]) ;
    String str = args[0] ;
    Pattern pattern = Pattern.compile("[C]{1}\\w{4,}$") ;
    Matcher matcher = pattern.matcher(str) ;
    boolean b = matcher.matches() ;
    System.out.println(b);
    System.out.println("--------");
    System.out.println(str.matches("^C\\w{4,}$"));
    }
    }运行结果:
    //>javac Test.java
    //>java Test Caabcde 
    //args[0] = Caabcde
    //true
    //--------
    //true//>java Test caaaaa
    //args[0] = caaaaa
    //false
    //--------
    //false//>F:\>java Test caaa
    //args[0] = caaa
    //false
    //-------
    //false
      

  5.   

    正则很好,如果换个思路,这样写呢:public boolean validate(String s) {
      return s.compareTo("C0000")>=0 && s.compareTo("Czzzz")<=0;
    }
      

  6.   

    只有5位长度还是说后四位以后任意?
    s.matches("C\\w{4}");
    or
    s.matches("C\\w{4}.*");