Skip to main content

Java string splitting error



I need to split array of string and then save it into smaller string. Plz help me....what i am doing wrong.....







for(int i=0; i<suburl.size(); i++){



String temp = suburl.get(i);

String[] data = temp.split(" ");



Log.i("DATA 0", data[0]);

Log.i("DATA 1", data[1]);

Log.i("DATA 2", data[2]);

}







here







public static ArrayList<String> suburl = new ArrayList<String>();







where,







suburl.get(0) = "alex 21 engineer"

suburl.get(1) = "mike 22 lawyer"

suburl.get(2) = "sunny 26 deisnger"

suburl.get(3) = "kim 24 painter"







and







String[] data;







But what i am getting error when splitting is .......







01-19 20:35:09.820: E/AndroidRuntime(1672): Caused by: java.lang.ArrayIndexOutOfBoundsException

01-19 20:35:09.820: E/AndroidRuntime(1672): at flash.com.MainActivity.onCreate(MainActivity.java:119)

01-19 20:35:09.820: E/AndroidRuntime(1672): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

01-19 20:35:09.820: E/AndroidRuntime(1672): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)




Comments

  1. What I think is that problably, not all your strings have two spaces. Just do not do things like data[x]. Use another loop to use those strings.

    ReplyDelete
  2. This works for me, I am not sure what's wrong. You can cross check the input data again.

    List<String> suburl = new ArrayList<String>();
    suburl.add("alex 21 engineer");
    suburl.add("xyz 21 engineer");
    suburl.add("tim 21 engineer");
    suburl.add("gary 21 engineer");
    for(String temp : suburl) {
    String[] data = temp.split(" ");
    System.out.println("DATA 0 " + data[0]);
    System.out.println("DATA 1 " + data[1]);
    System.out.println("DATA 2 " + data[2]);
    }

    ReplyDelete
  3. It is working fine for me:

    public class TestClass {

    public static void main(String args[]) {
    ArrayList<String> suburl = new ArrayList<String>();


    suburl.add("alex 21 engineer");
    suburl.add("xyz 21 engineer");
    suburl.add("tim 21 engineer");
    suburl.add("gary 21 engineer");

    for(int i=0; i<suburl.size(); i++){

    String temp = suburl.get(i);
    String[] data = temp.split(" ");

    System.out.println(data[0]);
    System.out.println(data[1]);
    System.out.println(data[2]);
    }


    Results:

    alex
    21
    engineer
    xyz
    21
    engineer
    tim
    21
    engineer
    gary
    21
    engineer

    ReplyDelete
  4. Yuo must replace i<suburl.size(); to i<suburl.size() - 1;

    ReplyDelete
  5. If you set your data in the ArrayList like this:

    suburl.get(0) = "alex 21 engineer"
    suburl.get(1) = "mike 22 lawyer"
    suburl.get(2) = "sunny 26 deisnger"
    suburl.get(3) = "kim 24 painter"


    I think you may want to change it and do suburl.add("alex 21 engineer");

    ReplyDelete

Post a Comment

Popular posts from this blog

Why is this Javascript much *slower* than its jQuery equivalent?

I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...

Is it possible to have IF statement in an Echo statement in PHP

Thanks in advance. I did look at the other questions/answers that were similar and didn't find exactly what I was looking for. I'm trying to do this, am I on the right path? echo " <div id='tabs-".$match."'> <textarea id='".$match."' name='".$match."'>". if ($COLUMN_NAME === $match) { echo $FIELD_WITH_COLUMN_NAME; } else { } ."</textarea> <script type='text/javascript'> CKEDITOR.replace( '".$match."' ); </script> </div>"; I am getting the following error message in the browser: Parse error: syntax error, unexpected T_IF Please let me know if this is the right way to go about nesting an IF statement inside an echo. Thank you.