Java ParseInt完整性检查

时间:2012-01-16 13:19:21

标签: java integer parseint

我正在尝试从int数组元素中解析String。这是我的代码:

String length = messageContents[k].replace("Content-Length:", "").replace(" ", "");
System.out.println("Length is: " + length);
int test= Integer.parseInt(length);

System.out.println会返回以下内容:长度为:23

但是,当我尝试将String解析为int时,java.lang.NumberFormatException会被抛出;

java.lang.NumberFormatException: For input string: "23"

我有点困惑23不会被解析为int。我只能假设其中有一些其他角色正在阻止它,但我不能在我的生命中看到它。

有什么建议吗?

由于

更新

Despite the String length having only two characters, Java reports its length as three:
Length is: '23'
Length of length variable is: 3
length.getBytes = [B@126804e

2 个答案:

答案 0 :(得分:7)

尝试此变体:

int test= Integer.parseInt(length.trim());

答案 1 :(得分:3)

此字符串中可能存在看不见的字符。

我的想法:使用带有Pattern / Matcher的正则表达式删除字符串中的所有非数字,然后解析它。