我有一个字符串(长度3-8)分配给变量(文本)。我想检查第2和第3个字符是不是数字(字母或符号或空格......或除数字以外的任何字符)。
答案 0 :(得分:0)
这样做的基本方法可能是:
if(((text.charAt(1)-'0')>=0)&&(text.charAt(1)-'0')<10))||((text.charAt(2)-'0')>=0)&&(text.charAt(2)-'0')<10)))
{
//do nothing, since this means 2nd and/or 3rd characters in the string are numeric
}
else
{
// Your condition is met
}
如果你的检查更复杂,你也可以使用REGEX。
答案 1 :(得分:0)
以下是实现此目的的另一种方法:
boolean isNumeric = true;
String test = "testing";
char second = test.charAt(1);
char third = test.charAt(2);
try {
Integer.parseInt(String.valueOf(second));
Integer.parseInt(String.valueOf(third));
} catch(NumberFormatException e) {
isNumeric = false;
}
System.out.println("Contains Number in 2nd and 3rd or both position: " + isNumeric);
答案 2 :(得分:0)
您可以使用String.IndexOf(String)方法,例如:
String digits = "0123456789";
String s2 = text.substring(2,3);
String s3 = text.substring(3,4);
boolean valid = (digits.indexOf(s2) > -1) && (digits.indexOf(s3) > -1);