0

我有以开头的句子

  1. ccccccccddkskdjskjdksjdfksjfkjs sjfsjfksjjs

我想看看我读到的行的开头是否是数字和。如果是,我想阅读该行的其余部分。

我怎样才能做到这一点 ?

我教过把这条线读给一个

 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 ......像这样?


线程“主”java.lang.StringIndexOutOfBoundsException 中的异常:字符串索引超出范围:java.lang.String.charAt 处的 1(未知来源)

4

5 回答 5

3

字符类有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
于 2012-09-26T06:35:10.193 回答
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());
于 2012-09-26T06:38:20.480 回答
1

检查第一个字符的 ascii 值。

 char x = str.charAt(0);
 if(x >= 48 && x <= 57)
 {
     // do whatever
 }
于 2012-09-26T06:41:45.967 回答
0

你可以做:

布尔 isANumber = false;
尝试{
  Integer.parseInt(str[0]);
  isANumber = true;
}catch(异常 e){
}

//如果str[0]是一个数字,现在isANumber为真
于 2012-09-26T06:34:08.100 回答
0

这样做

String string="ccccccccddkskdjskjdksjdfksjfkjs sjfsjfksjjs"

Character.isDigit(string.charAt(0));

你可以像这样检查你的价值

有关更多详细信息,请参阅此

如何确定字符串的第一个字符是否为数字?

于 2012-09-26T06:48:56.020 回答