Sunil
Sunil

Reputation: 112

Java 1.4 sub string retreival

I have a string:

     thorax1  [00400 - 00479]
    su  [00100 - 0022200su]
    head1  [00100 - 00228]
    head1  [00100 - 00228]
    thorax1  [00400 - 00479]
    lab66  [lab661]

this can be big also. I need to retrieve the value that is there is in square bracket,

i.e. 00400 - 00479, 00100 - 0022200su ,00100 - 00228

I have used:

String Lab1=thorax1  [00400 - 00479]
su  [00100 - 0022200su]
head1  [00100 - 00228]
head1  [00100 - 00228]
thorax1  [00400 - 00479]
lab66  [lab661]

Lab1=    Lab.substring(Lab.indexOf("[")+1,Lab.indexOf("]"));

but this is only giving me 00400 - 00479

I need the output like 00400 - 00479, 00100 - 0022200su ,00100 - 00228 and so on.

Can anyone help me to get the desire output?

Upvotes: 0

Views: 484

Answers (2)

npinti
npinti

Reputation: 52185

The problem is that what you are trying to do works only once. You need to place that logic (and add some more) into a loop.

This should do what you need:

String Lab = "thorax1  [00400 - 00479]"
                + "su  [00100 - 0022200su] "
                + "head1  [00100 - 00228] "
                + "head1  [00100 - 00228] "
                + "thorax1  [00400 - 00479] " +
                    "lab66  [lab661]";


        int first = 0;
    int last = 0;
    while(true)
    {   
        first = Lab.indexOf("[", first) + 1;
        last = Lab.indexOf("]", first);
        if(first <= 0)
        {
            break;
        }
        System.out.println(Lab.substring(first, last));
    }

Yields:

00400 - 00479
00100 - 0022200su
00100 - 00228
00100 - 00228
00400 - 00479
lab661

Upvotes: 2

Andreas
Andreas

Reputation: 2047

You could try splitting the string and adding each individual part to an array of ArrayList, then loop through it.

Upvotes: 0

Related Questions