我想分解字符串192.168.1.2:6060;rport;branch=z9hG4bKNskFdtGO4"
。子串問題
我想在第一個分號之前提取port:ip
,並在等號後面提取分支號。
我嘗試的代碼是
temp = in.next();
System.out.println(temp.contains(";"));
System.out.println(temp.contains("="));
System.out.println("Temp: " + temp + " ");
sipName = temp.substring(0, temp.charAt(';'));
branch = temp.substring(temp.charAt('='));
我加入了printlns顯示,如果是至少在弦被人發現,他們的字符。
當我運行的代碼在我行獲得一個StringIndexOutOfBoundsError sipName = temp.substring(0, temp.charAt(';'));
我的控制檯輸出爲:
true
true
Temp: 192.168.1.2:6060;rport;branch=z9hG4bKb8NGxwdoR
Exception in thread "Thread-1" java.lang.StringIndexOutOfBoundsException: String index out of range: 59
...
即使我只是嘗試System.out.println(temp.charAt(';'));
我不知道失敗的原因這發生了。有人能解釋嗎?我很難過。
感謝您的快速回答,這是一段時間,因爲我不得不使用子字符串。感覺現在很傻。定時器冷卻後我會接受答案。 – redFIVE