通过匹配开始词和结束词来检索文本内容

时间:2019-06-12 08:44:07

标签: 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%   

请帮助。

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

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中数据的帮助。

1 个答案:

答案 0 :(得分:1)

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

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