1

我正在努力实现这一目标。我有一串 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");
}

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

也可以请告诉我那些小写字母如何转换为大写字母吗?

4

3 回答 3

6

正则表达式将是合适的:

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

正则表达式解释:

  • [A-Z]表示任何大写字母
  • [0-9]{7}表示 7 位数字
于 2012-08-21T09:11:03.053 回答
5
Pattern p = Pattern.compile("^[A-Za-z]\\d+[A-Za-z]$");
Matcher m = p.match("A1234567B");
if (m.matches()) {
  //
}

编辑:

如果总是有七位数字,您可以\\d+\\d{7}

于 2012-08-21T09:10:55.487 回答
-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
}
于 2012-08-21T09:15:05.677 回答