Best way to extract specific paragraph from file data

后端 未结 2 575
予麋鹿
予麋鹿 2021-01-21 18:15

Hi i am looking to find out the best way to extract specific paragraph from file using java.

From the following data i need to extract data from \"D & A\"

2条回答
  •  终归单人心
    2021-01-21 19:12

    for an input like this

    Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata Testingdata

    D and A
    Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1- End

                                                  Date 11/30/11           Page    2
    

    D and A
    Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2

                                                  Date 11/30/11           Page    3
    

    D and A
    Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2- End

    The following Regex will help you out

        String input="";
        BufferedReader br = new BufferedReader(new FileReader("path/to/text/file")); //file path will be something like "D:/test1.txt" or "/home/naishe/test1.txt"
        String line;
        while((line = br.readLine()) != null) {
            input += line+"\n";
        }
    
        Pattern p = Pattern.compile("(D and A\\s).*?(Testing(1|2)\\- End)");
        Matcher m = p.matcher(input);
        while(m.find()){
            System.out.println("MATCHED:\n" + m.group());
        }
    

    gives

    MATCHED:
    D and A
    Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1Testing1 Testing1 Testing1 Testing1 Testing1 Testing1 Testing1- End

    MATCHED:
    D and A
    Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2 Testing2- End

提交回复
热议问题