我有一个字符串:
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.
任何人都可以帮助我获得欲望输出吗?
答案 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数组中, 然后循环它。