1

私は1行ずつ読み取るファイルを持っており、2つの特定の単語の間にある文字列の特定の部分(その行から)を取得するためのコードを記述しました。

[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つの文字列を取得する方法を教えてください...これらは同じ行にあり、私のコードは最初の文字列を考慮しているためです...

4

2 に答える 2

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);
}
于 2012-04-05T15:50:49.973 に答える
0

このリンクの正規表現は、特定の文字列が出現するたびに一致するため、使用してください。

于 2012-04-05T15:51:48.350 に答える