我正在努力实现这一目标。
我有一串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");
}
请不要介意简单的英语,只是想知道语法,但我希望逻辑在那里。
还可以给我看看那些小写的怎么转换成大写的吗?
最佳答案
正则表达式将是合适的:
String s = new String("A2345678Z");
if (s.matches("[A-Z][0-9]{7}[A-Z]")))
{
}
正则表达式解释:
[A-Z]
表示任何大写字母[0-9]{7}
表示7位数字