出于测试原因,我试图从虚拟字符串中解析int。字符串将是:
String numOfStudents = "Number of Students: 5";
我想解析这个字符串,确保它包含'学生数量'以及找出int值。
我怎样才能做到这一点?我需要int值来将它与另一个int值进行比较。
由于
答案 0 :(得分:5)
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);
}
答案 1 :(得分:1)
由于Integer无法解析String值,因此它会抛出NumberFormatException
,因为数字是预期的输入,我建议你使用这样的静态类型的字符串:
String numOfStudents = "Number of Students: 5";
String[] p = numOfStudents.split(":");
Integer i= Integer.parseInt(p[1].trim());
System.out.println(i);
As,p[0]
包含String(label),p[1]
包含其值。如果需要,可以稍后使用。
答案 2 :(得分: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));
}