我正在尝试从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
答案 0 :(得分:7)
尝试此变体:
int test= Integer.parseInt(length.trim());
答案 1 :(得分:3)
此字符串中可能存在看不见的字符。
我的想法:使用带有Pattern / Matcher的正则表达式删除字符串中的所有非数字,然后解析它。