I think that the methods proposed here are very heavy: XML Parsing is too much for that easy task "Check it manually" is not optimal
I suggest you to have a look on the class StringTokenizer: http://developer.android.com/reference/java/util/StringTokenizer.html Albert On Mar 13, 11:57 pm, sm1 <sergemas...@gmail.com> wrote: > I do it this way (it works for me): > > /** > * @param tag The tag without the angle bracket, i.e., > * the given value does not start with "<". > * @param str The string containing the tags and data. > * @return empty string when tag absent or str invalid. > */ > String takeit(String tag,String str){ > try{ > int i = str.indexOf("<"+tag+">"); > if(i<0){ > i = str.indexOf("<"+tag+" "); > } > if(i<0) { > return "";//tag not found > } > String s = str.substring(i); > i = s.indexOf(">"); > if(i<0) { > //no matching end-angle-bracket (>) > return ""; > } > s = s.substring(i+1);//the returned string begins with the data > of this tag > int j = s.indexOf("</"+tag+">"); //in this version, "<tag/>" > tags are not used. > if(j<0) { > //TODO Log.d(...) > return ""; > } > s = s.substring(0,j); // j is the position of the end-tag. > return s.trim(); > }catch(Exception ex){ > /* TODO maybe > Log.d("myClass",ex+" - Thread.currentThread() > +".takeit() returning empty string;" > +" tag = "+tag > +"; str = "+str > ); > */ > return ""; > } > } > > cheers > serge > > On Mar 12, 4:34 pm, EECOLOR <eeco...@gmail.com> wrote: > > > I think that would be something like this: > > > public String takeit(String str, String tag) > > { > > return str.replace(".*?<" + tag + ">(.*?)</" + tag + ">.*", $1); > > > } > > > Greetz Erik > > > On Thu, Mar 12, 2009 at 7:14 PM, guruk <ilovesi...@gmail.com> wrote: > > > > Hi, > > > i have a long String and need to capture some text in between of some > > > tags. > > > > for example: > > > > myString="Hello, this is a test <start>12345</start> and here i like > > > to say <marki>oioidddad</marki> what is that <opxmark>notwise</ > > > opxmark> and now i close"; > > > > How would you do in java regex or any short thing like: > > > > starttag = takeit(myString,"start"); //result = "12345" > > > marktag =takeit(myString,"marki"); //result = "oioidddad" > > > opxmark=takeit(myString,"opxmark"); //result == "notwise" > > > > thanks a lot from your java newbie :) > > > > chris --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~----------~----~----~----~------~----~------~--~---