2 Stimmen

Java RegEx - Regulärer Ausdruck zum Aufteilen eines Absatzes mit Anfang und Ende

Ich bin neu in Java regex.Please helfen Sie mir. Betrachten Sie den folgenden Absatz,

Absatz :

            Name abc
            sadghsagh
            hsajdjah Name
            ggggggggg
            !!!
            Name ggg
            dfdfddfdf Name
            !!!
            Name hhhh
            sahdgashdg Name
            asjdhjasdh
            sadasldkalskd
            asdjhakjsdhja
            !!!

Ich muss den obigen Absatz in Textblöcke aufteilen, die mit Name beginnen und mit !!! enden. . Hier möchte ich nicht !!! als einziges Trennzeichen verwenden, um den Absatz aufzuteilen, sondern ich muss die Anfangssequenz (Name) auch in meine Regex aufnehmen.

D.h. meine Ergebnis-Api sollte wie SplitAsBlocks("Paragraph", "startswith Name", "endswith !!!")

Wie kann man das erreichen, bitte hilft mir jemand ...

Jetzt möchte ich die gleiche Ausgabe wie Brito gegeben ... aber hier habe ich Name nach "hsajdjah" hinzugefügt. hier teilt es den Text als beow :

Name
ggggggggg
!!!

aber ich brauche

Name abc
sadghsagh
hsajdjah Name
ggggggggg
!!!

Das heißt, ich muss Name zuordnen, der am Anfang der Zeile steht, nicht in der Mitte.

bitte empfehlen Sie mir ...

Bart ... siehe den unten stehenden Eingabefall für Ihren Code ...

Ich muss die folgende Datei mit Hilfe der API mit den Parametern start => Name und end => ! Aber die Ausgabe variiert ich habe nur 3 Blöcke, die mit Name beginnen und mit ! . Ich habe die Ausgabe auch angehängt.

String myInput =    "Name hhhhh class0"+ "\n"+
                     "HHHHHHHHHHHHHHHHHH"+ "\n"+
                     "!"+ "\n"+
                     "Name TTTTT TTTT"+ "\n"+
                     "GGGGGG UUUUU IIII"+ "\n"+
                     "!"+ "\n"+
                     "Name JJJJJ WWWW"+ "\n"+
                     "IIIIIIIIIIIIIIIIIIIII"+ "\n"+
                     "!"+ "\n"+
                     "RRRRRRRRRRR TTTTTTTT"+ "\n"+
                     "HHHHHH"+ "\n"+
                     "JJJJJ 1 Name class1"+ "\n"+
                     "LLLLL 5 Name class5"+ "\n"+
                     "!"+ "\n"+
                     "OOOOOO HHHH FFFFFF"+ "\n"+
                     "service 0 Name class12"+ "\n"+
                     "!"+ "\n"+
                     "JJJJJ YYYYYY 3/0"+ "\n"+
                     "KKKKKKK"+ "\n"+
                     "UUU UUU UUUUU"+ "\n"+
                     "QQQQQQQ"+ "\n"+
                         "!";
    String[] tokens = tokenize(myInput, "Name", "!");
    int n = 0;
    for(String t : tokens) {
        System.out.println("---------------------------\n"+(++n)+"\n"+t);
    }

OutPut :

---------------------------
1
Name hhhhh class0
HHHHHHHHHHHHHHHHHH
!
---------------------------
2
Name TTTTT TTTT
GGGGGG UUUUU IIII
!
---------------------------
3
Name JJJJJ WWWW
IIIIIIIIIIIIIIIIIIIII
!
---------------------------
4
Name class1
LLLLL 5 Name class5
!
---------------------------
5
Name class12
!

Hier muss ich nur den Namen am Anfang der Zeile nicht in der Mitte haben ... Wie füge ich eine Regex dafür ein ...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X