Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过匹配起始词和结束词检索文本内容_Java - Fatal编程技术网

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

Java 通过匹配起始词和结束词检索文本内容,java,Java,我得到如下内容的文本文件。我想检索start\u word=Tax%和end\u word=“ErrorMessage”之间存在的数据 在检索之后,输出将是 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% 请帮忙 我使用骆驼阅读文本,然后我想检索数据,以便根据我的要求进一步处理 impor

我得到如下内容的文本文件。我想检索
start\u word=Tax%
end\u word=“ErrorMessage”
之间存在的数据

在检索之后,输出将是

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

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

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

现在再次回答您的问题,并根据需要包含解析
textContent
的Java代码。它是否有效?请查看使用,以便根据子字符串(
Tax%
“错误消息”
)查找开始索引和结束索引,然后抓住这些索引之间的子字符串。在新行“\n”上拆分内容,然后循环检查开始行和结束行的数组。也许@TheGamer007的建议更好,这取决于你打算用字符串的其余部分做什么
    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();