【发布时间】:2014-06-04 12:14:12
【问题描述】:
我有一个字符串:
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.这样的输出
谁能帮我得到欲望输出?
【问题讨论】:
-
它是一个非常古老的项目。
-
“它是一个非常古老的项目”,这并不意味着它只能在旧的 Java 虚拟机上运行。无论如何
substring(int start, int end)返回 one 字符串,包括从位置start(包括)到位置end(不包括)的所有字符。您应该考虑使用循环来创建更多结果,并在他们发现的最后一个位置之后开始寻找下一个[和]。考虑使用indexOf(String str, int fromIndex)或使用Pattern和Matcher类的正则表达式。 -
使用
Matcher,以及像"\\[([^]]+)\\]"这样的正则表达式