6

配列要素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です。

ただし、を解析しようとするStringintjava.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
4

2 に答える 2

7

このバリアントを試してください:

int test= Integer.parseInt(length.trim());
于 2012-01-16T13:38:46.990 に答える
3

この文字列には見えない文字が含まれている可能性があります。

私の考え:Pattern / Matcherで正規表現を使用して、文字列内のすべての非数字を削除してから、それを解析します。

于 2012-01-16T13:29:14.093 に答える