java检查第一个和最后一个char是大写的

时间:2012-08-21 09:08:09

标签: java string if-statement

我正在努力实现这一目标。  我有一串9char(总是一样的)。但我也知道,第一个和最后一个字母总是一个aplhabetic,它一定是。中间的其余部分是数字。如何检查。 到目前为止我得到了这个逻辑,语法是我的问题

string samplestring;
samplestring = a1234567B
If(samplestring.length() == 9 && samplestring.substring(0,1).uppercase && samplestring.substring(8,9) && samplestring.THE REST OF THE CHAR IN THE MIDDLE ARE DIGITS)

{
 println("yes this is correct");
}

else
{
println("retype");
}

请不要介意简单的英语只是想知道语法,但逻辑是我希望..

还可以告诉我那些小写的如何转换为大写?

3 个答案:

答案 0 :(得分:6)

正则表达式是合适的:

String s = new String("A2345678Z");
if (s.matches("[A-Z][0-9]{7}[A-Z]")))
{
}

正则表达式解释:

  • [A-Z]表示任何大写字母
  • [0-9]{7}表示7位数字

答案 1 :(得分:5)

Pattern p = Pattern.compile("^[A-Za-z]\\d+[A-Za-z]$");
Matcher m = p.match("A1234567B");
if (m.matches()) {
  //
}

编辑:

如果总有七位数字,您可以将\\d+替换为\\d{7}

答案 2 :(得分:-1)

String str="A12345678B";
char first = str.charAt(0);
char second = str.charAt(str.length()-1);
if(Character.isUpperCase(first)&& Character.isUpperCase(second)){
    //do something
}