如何从字符串 java 中解析一个 int?

How to parse an int from a string java?

出于测试原因,我正在尝试从虚拟字符串中解析一个 int。字符串将是:

String numOfStudents = "Number of Students: 5";

我想解析这个字符串,确保它包含行 'Number of Students' 以及找出 int 值。

我怎样才能做到这一点?我需要 int 值来将它与另一个 int 值进行比较。

谢谢

    final String NUM_OF_STUDENTS = "Number of Students: ";

    String numOfStudents = "Number of Students: 5";
    int lastIndex = numOfStudents.lastIndexOf(NUM_OF_STUDENTS);

    if (lastIndex != -1){
        String number = numOfStudents.substring((lastIndex + (NUM_OF_STUDENTS.length())) , numOfStudents.length());
        Integer yourResultNumber = Integer.parseInt(number);
        System.out.println(yourResultNumber);
    }

由于 Integer 无法解析它抛出的字符串值 NumberFormatException 因为数字是预期的输入,所以我建议您使用静态类型的字符串,如下所示:

String numOfStudents = "Number of Students: 5";
String[] p = numOfStudents.split(":");

Integer i= Integer.parseInt(p[1].trim());
System.out.println(i);

因为,p[0] 包含字符串(标签),p[1] 包含它的值。以后需要的话可以用。

String numOfStudents = "Number of Students: 55546";
int lastIndex = numOfStudents.lastIndexOf(" ");
if(lastIndex > -1 && lastIndex+1 < numOfStudents.length()) {
String num = numOfStudents.substring(lastIndex+1);
System.out.println(Integer.parseInt(num));
}