我在从字符串中提取数字时遇到麻烦。我必须用两个字符串中的仅数字组成一个新整数。一个例子是:
弦轴承='N30W';
然后我将拥有一个整数变量,该变量将输出“ 30” 到目前为止,我已经尝试过:
//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
谢谢
答案 0 :(得分:0)
这可以做。
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();
}