从文件中写入的行中获取特定字符串

时间:2012-04-05 15:47:55

标签: java string

我有一个文件,我逐行阅读,我已经编写了一个代码,用于获取两个特定单词之间的字符串的某一部分(例如

[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]

现在,请告诉我如何获取这两个字符串...因为它们出现在同一行,我的代码只考虑第一个......

2 个答案:

答案 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的每次出现。