我有一个文件,我逐行阅读,我已经编写了一个代码,用于获取两个特定单词之间的字符串的某一部分(例如
)[abc] long time ago [cde]
现在我已经编写了以下用于很久以前获取字符串的代码
if (line.contains("[abc]") && line.contains("[cde]")) {
int b = line.indexOf("abc");
int cc = line.indexOf("cde");
String tk = line.substring(b + 4, cc);
System.out.println(tk);
}
此代码工作正常但现在的问题是。我遇到以下行
[abc] long time ago [cde] [abc] Everyday is a new day [cde]
现在,请告诉我如何获取这两个字符串...因为它们出现在同一行,我的代码只考虑第一个......
答案 0 :(得分:3)
while (line.contains("[abc]") && line.contains("[cde]")) {
int b = line.indexOf("abc");
int cc = line.indexOf("cde");
String tk = line.substring(b + 4, cc);
System.out.println(tk);
line = line.substring(cc + 4);
}
答案 1 :(得分:0)
使用正则表达式of this link,因为它们将匹配给定String的每次出现。