Удалить строку из строки - PullRequest
2 голосов
/ 04 апреля 2011
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>.Любая помощь будет оценена.

Ответы [ 4 ]

2 голосов
/ 04 апреля 2011

int startLocation = strResponse.indexOf(startTag) + string length of startTag

1 голос
/ 04 апреля 2011

Просто удалите первые 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);
}
0 голосов
/ 04 апреля 2011

Можно попробовать и регулярные выражения;

    String str = "<sessionid>ABCDEFGH</sessionid>";
    str = str.replaceFirst("<sessionid>(\\S+)</sessionid>", "$1");
0 голосов
/ 04 апреля 2011

Возьмите длину "<sessionid>" в качестве начального индекса вместо indexOf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...