String startTag = "<sessionid>";
String endTag = "</sessionid>";
if (startTag.equalsIgnoreCase("<sessionid>") &&
endTag.equalsIgnoreCase("</sessionid>"))
{
int startLocation = strResponse.indexOf(startTag);
int endLocation = strResponse.indexOf(endTag);
Log.i("StartLocation", ""+startLocation);
Log.i("EndLocation", ""+endLocation);
String session_id = strResponse.substring(startLocation, endLocation);
ConstantData.session_id =session_id;
Log.i("SessionId", ""+session_id);
}
我得到session_id = <sessionid>32423jhoijhoijh
;所以我想删除<sessionid>
。任何帮助将不胜感激。
答案 0 :(得分:2)
int startLocation = strResponse.indexOf(startTag) + string length of startTag
答案 1 :(得分:1)
只需删除字符串中的前11个字母或字符:
String startTag = "<sessionid>";
String endTag = "</sessionid>";
if (startTag.equalsIgnoreCase("<sessionid>") &&
endTag.equalsIgnoreCase("</sessionid>"))
{
int startLocation = strResponse.indexOf(startTag);
int endLocation = strResponse.indexOf(endTag);
Log.i("StartLocation", ""+startLocation);
Log.i("EndLocation", ""+endLocation);
String session_id = strResponse.substring(startLocation, endLocation);
session_id = session_id.substring(11, session_id.length());
ConstantData.session_id =session_id;
Log.i("SessionId", ""+session_id);
}
答案 2 :(得分:0)
将"<sessionid>"
的长度作为startIndex而不是indexOf。
答案 3 :(得分:0)
也可以尝试使用正则表达式;
String str = "<sessionid>ABCDEFGH</sessionid>";
str = str.replaceFirst("<sessionid>(\\S+)</sessionid>", "$1");