Java 从包含字母和数字的字符串中提取所有数字
我的作业很难从字符串中提取数字。我必须用两个字符串中的数字生成一个新的整数。例如: 字符串轴承='N30W' 然后我会有一个整数变量,输出'30' 到目前为止,我已经尝试:Java 从包含字母和数字的字符串中提取所有数字,java,string,Java,String,我的作业很难从字符串中提取数字。我必须用两个字符串中的数字生成一个新的整数。例如: 字符串轴承='N30W' 然后我会有一个整数变量,输出'30' 到目前为止,我已经尝试: //digitsOfBearing = Integer.parseInt(bearing.replaceAll("[^0-9]", "")); //digitsOfBearing = Integer.parseInt(bearing.substring(1, bearing.length()-1)); //dig
//digitsOfBearing = Integer.parseInt(bearing.replaceAll("[^0-9]", ""));
//digitsOfBearing = Integer.parseInt(bearing.substring(1, bearing.length()-1));
//digitsOfBearing = bearing.replaceAll("\\D+","");
但我所有的结果都以错误告终:
线程“main”java.lang.StringIndexOutOfBoundsException中出现异常:字符串索引超出范围:-2
谢谢这样就行了
public static void main(String[] args) {
String str = "1fnvkk14718jafds";
String digits = getDigits(str);
long number = Long.parseLong(digits);
System.out.println(number);
}
private static String getDigits(String str) {
StringBuilder stringBuilder = new StringBuilder();
for (char c : str.toCharArray()) {
if (Character.isDigit(c)) {
stringBuilder.append(c);
}
}
return stringBuilder.toString();
}
Integer.parseInt(bearing.replaceAll(“\\D”,“”“)
将起作用。“getDigits(str)”不是符号。