我使用以下代码获取字符串值,如9s或4c位于字符串数组中,只找到第一个字符的整数值.我还希望能够将其用于具有多个数字(如10s或13c)的字符串值.
total = total + Integer.parseInt(a[i].substring(0)) + 1;
Run Code Online (Sandbox Code Playgroud)
这给了我一个数字格式例外.我有什么想法可能做错了吗?
这会奏效
public static void getIntVal() {
String text = "123cc";
String numOnly = text.replaceAll("\\D+", "");
int numVal = Integer.valueOf(numOnly);
System.out.println(numVal);
}
Run Code Online (Sandbox Code Playgroud)
如果某人想要使用双倍,你可以按如下方式进行
String text = "123.0114cc";
String numOnly = text.replaceAll("\\p{Alpha}","");
double numVal = Double.valueOf(numOnly);
System.out.println(numVal);
Run Code Online (Sandbox Code Playgroud)