java - 检查字符串条件并使用 java 在文件中打印所需的条件

标签 java string file multiline csv

在我的文件中,存在约 50 行字符串数据,这些数据以 1002 开头并以 1003 结尾进行分隔,例如:

1002target data A10034d8e

但是其中一个或两个分隔符可以分成多行,例如:

10
02target data B1003922510
02target data C10
033d0910
02target data D10033d09

如何仅打印文件中的分隔数据,不包括开始和结束分隔符?

我的代码是:

try {
    File file = new File("new1.txt");
    FileReader fileReader = new FileReader(file);
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    StringBuffer stringBuffer = new StringBuffer();
    String line;
    int lines = 0, b;
    String seq = "";
    while ((line = bufferedReader.readLine()) != null) {
        lines++;
        if (lines == 2) {
            StringBuilder bulid = new StringBuilder(line);

            bulid.delete(0, 2);
            b = bulid.length();
            bulid.delete(b - 8, b);

            stringBuffer.append(bulid);
            stringBuffer.append("\n");
            lines = 0;
        }
    }
    fileReader.close();
    System.out.println("Contents of file:");
    System.out.println(stringBuffer.toString());
} catch (IOException e) {
    e.printStackTrace();
}

但是此代码仅当数据和分隔符位于一行时才有效。

最佳答案

对于每一行:

搜索索引 1002,如果找到搜索索引 1003,则打印中间的内容。

int start = line.indexOf("1002");
if (start >= 0) {
    int end = line.indexOf("1003", start);
    if (end >= 0) {
        String searched = line.substr(start + 4, end);
        // Doing something with searched
    }
} else {
    // Not found
}

关于java - 检查字符串条件并使用 java 在文件中打印所需的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37700528/

相关文章:

java - 在 Spring 框架中获取模型类的单个对象

java - 找出文件中与字符串数组中的任何单词都不匹配的单词数

file - 对大型模式文件使用 grep

ruby-on-rails - 如何在 Rails 的目录结构中查找文件

java - 无法将照片上传到服务器android retrofit 2

java - 如何正确调用这个方法呢?

java - 使用反射检查方法是否是接口(interface)的重写方法

string - 根据 sas 中另一个字符变量的值重新编码字符变量中的值

c++ - 关于字符串操作

c - 将文本文件读入 C 中的行数组