找到一个单词的第一个字符

时间:2012-09-26 06:32:04

标签: java

我的句子以

开头
  1. ccccccccddkskdjskjdksjdfksjfkjs sjfsjfksjjs
  2. 我想知道我读过的行的开头是否带有数字和。 如果是的话,我想阅读其余内容。

    我该怎么做?

    我教过读这行

     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(未知来源)

5 个答案:

答案 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?