我的句子以
开头我想知道我读过的行的开头是否带有数字和。 如果是的话,我想阅读其余内容。
我该怎么做?
我教过读这行
string str.
str[0] and str [1].
str[1]= .
x= Character.isDigit(string.charAt(0));
if(x) { if (string.charAt(1)=='.')
{ print ...I get a Exception
是否有一种简单的方法可以检查str [0]是否为数字..现在我正在手动检查它是否为1(或)2 ......就像那样?
线程“main”中的异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:1 在java.lang.String.charAt(未知来源)
答案 0 :(得分:3)
Character类有isDigit
方法,您可以按如下方式使用:
String str1 = "I start with letter";
boolean startWithDigit = Character.isDigit(str1.charAt(0));
// startWithDigit = false
String str2 = "1 start with digit";
boolean startWithDigit = Character.isDigit(str2.charAt(0));
// startWithDigit = true
答案 1 :(得分:1)
String str="1. ccccccccddkskdjskjdksjdfksjfkjs sjfsjfksjjs";
char charAt = str.charAt(0);
Pattern p = Pattern.compile("\\d+");
Matcher m1 = p.matcher(""+charAt);
System.out.println(m1.matches());
答案 2 :(得分:1)
检查第一个字符的ascii值。
char x = str.charAt(0);
if(x >= 48 && x <= 57)
{
// do whatever
}
答案 3 :(得分:0)
你可以这样做:
boolean isANumber = false; try{ Integer.parseInt(str[0]); isANumber = true; }catch(Exception e) { } //now isANumber is true if str[0] is a number
答案 4 :(得分:0)
这样做
String string="ccccccccddkskdjskjdksjdfksjfkjs sjfsjfksjjs"
Character.isDigit(string.charAt(0));
有关详细信息,请参阅此
How do I find out if first character of a string is a number?