java - 通过匹配起始词和结束词检索文本内容

标签 java

我正在获取包含如下内容的文本文件。我想检索 start_word=Tax%end_word="ErrorMessage" 之间存在的数据。

ParsedText: 
Tax%    
63  2  .90  0.00  D INTENS  SH 80ML(48)     9.00%   9.00% 
23  34013090    0.0     DS PURE WHIT 1 COG (24)     9.00%   9.00%   
"ErrorMessage":"","ErrorDetails":""

检索后输出将是

63  2  .90  0.00  D INTENS  SH 80ML(48)     9.00%   9.00% 
23  34013090    0.0     DS PURE WHIT 1 COG (24)     9.00%   9.00%   

请帮忙。

我正在使用 Camel 来读取文本,然后我想检索数据以根据我的要求进一步处理。

import org.apache.camel.Exchange;
import org.apache.camel.Processor;

public class DataExtractor implements Processor{

    @Override
    public void process(Exchange exchange) throws Exception {
        String textContent=(String) exchange.getIn().getBody();
        System.out.println("TextContents >>>>>>"+textContent);

    }

}

在文本内容中,我得到了上面给出的内容。我需要有关在 java 中检索数据的帮助。

最佳答案

下面是提取所需输出的代码片段:

    String[] strArr = textContent.split("\\r?\\n");
    StringBuilder stringBuilder = new StringBuilder();
    boolean appendLines = false;
    for(String strLines : strArr) {
        if(strLines.contains("Tax%")) {
            appendLines = true;
            continue;
        }
        if(strLines.contains("\"ErrorMessage\"")) {
            break;
        }
        if(appendLines){
            stringBuilder.append(strLines);
            stringBuilder.append(System.getProperty("line.separator"));
        }
    }

    textContent =  stringBuilder.toString();

关于java - 通过匹配起始词和结束词检索文本内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56558038/

相关文章:

java - JLabel 组件保留在屏幕上

JavaFX 不适用于 IntelliJ (jdk 9)

java - Hibernate,集合,仅保存某些属性

java - 如何保留一些图纸而不保留其他图纸?

java - 使用 Poi 附加数据而不覆盖 header

java - 不兼容类型 : Class<Bar> cannot be converted to Class<CAP#1> where CAP#1 is a fresh-type variable

java - spring security中更新用户权限后如何立即启用权限?

java - 如何检查Java程序中的线程是顺序运行还是并行运行?

java - 导出的jar文件执行后卡住

java - 我必须将文件放在哪里才能使用文件附加器 log4j2