我正在尝试将字符串解析为整数。当我执行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]。与字符集有关?
答案 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+", ""));