尝试解析字符串时获取NumberFormat

时间:2019-03-19 03:55:30

标签: java

我正在尝试将字符串解析为整数。当我执行sys out时,该字符串是一个数字,但是当我尝试解析它时,它会在开头添加双引号。我什么也没做。

以下是我的代码段:

System.out.println("Result 2 is: "+results[2]);
String temp = results[2].replace("\"", "");
System.out.println("String Temp is: "+temp);
int height = Integer.parseInt(results[1].replace("\"", ""));
int width = Integer.parseInt(results[2].replace("\"", ""));

在日志中:

字符串温度为:2550
wt.system.err wcadmin-java.lang.NumberFormatException:对于输入字符串:“ 2550

此异常仅适用于result [2]。与字符集有关?

1 个答案:

答案 0 :(得分:1)

选项1:解析 temp 。更改

int width = Integer.parseInt(results[2].replace("\"", ""));

int width = Integer.parseInt(temp);

选项2:使用正则表达式删除所有不是数字的内容,而不是尝试手动处理极端情况。

int width = Integer.parseInt(results[2].replaceAll("\\D+", ""));