Java 1.4子字符串检索

时间:2014-06-04 12:14:13

标签: java substring java1.4

我有一个字符串:

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

这也可能很大。我需要检索方括号中的值,

即。 00400 - 00479,00100 - 0022200su,00100 - 00228

我用过:

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("]"));

但这只是给了我00400 - 00479

我需要像00400 - 00479, 00100 - 0022200su ,00100 - 00228 and so on.

这样的输出

任何人都可以帮助我获得欲望输出吗?

2 个答案:

答案 0 :(得分:2)

问题在于您尝试做的只有一次。您需要将该逻辑(并添加更多)放入循环中。

这应该做你需要的:

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));
    }

收率:

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

答案 1 :(得分:0)

您可以尝试拆分字符串并将每个单独的部分添加到ArrayList数组中, 然后循环它。