Java 1.4 子字符串检索

标签 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 等输出。

谁能帮我得到想要的输出?

最佳答案

问题是您尝试做的事情只能执行一次。您需要将该逻辑(并添加更多逻辑)放入循环中。

这应该可以满足您的需要:

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

关于Java 1.4 子字符串检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24037175/

相关文章:

java - 如果子字符串不在我的原始字符串中,如何避免 StringIndexOutOfBoundsException?

java - 传入匿名内部类时为空对象

bouncycaSTLe - 在 java 1.4 中使用 TLSV1.2 时出现 No such algorithm 异常

java - 字符串集 Java 1.4.2

java - 毫秒到 LocalDateTime

java - 在 Android 3.1 上通过 USB 端口读取和写入数据

java - try-with-resources- 不允许源级别低于 7,但我需要它在 6 下工作

java - 获取java.exe的路径

mysql - SQL 中重复字符串时的子字符串索引

pandas - 替换 Pandas 数据框列中的子字符串