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

标签 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]

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

最佳答案

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);
}

关于java - 从写入文件的行中获取特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10031798/

相关文章:

c - 在c中打印字符串的未知错误

java - 为什么Java泛型不能用于静态方法?

java - 如何使用java读取.EAP文件

php - 使用 preg_match_all 从字符串中提取单词

javascript - 使用 javascript 查找文本文件结尾

ruby-on-rails - 将嵌套数组的字符串表示形式转换为数组

java - 在 JUnit 4 中的相同测试方法下使用多个参数测试相同的异常

java - 如何为汉字编写正则表达式

java - 如何在出现第一个错误时停止验证?

C++ <algorithm> 替换所有不工作的事件