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

Jac*_*Boi 1 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");
}
Run Code Online (Sandbox Code Playgroud)

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

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

hmj*_*mjd 6

正则表达式是合适的:

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

正则表达式解释:

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

  • 您应该使用`\ p {javaUpperCase}`而不是`[AZ]`,因为还有比AZ更多的大写字母. (2认同)

oop*_*ase 5

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

编辑:

如果总有七位数,可以更换\\d+使用\\d{7}