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)
请不要介意简单的英语只是想知道语法,但逻辑是我希望..
还可以告诉我那些小写的如何转换为大写?
正则表达式是合适的:
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位数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}