2017-05-29 6 views
-4

Kann mir jemand helfen, wie kann ich ganzen Text in Abschnitte mit Java Selenium teilen. Jeder Textblock (Absätze) muss extrahiert werden. Grundsätzlich sollte es einen Absatz extrahieren, wenn zwischen den Textzeilen ein Zeilenumbruch vorliegt. Der Beispieltext ist:Wie teile ich Text in Absätze

Description of rules 

SAM/CAD are need to be discussed. 
The required codes needed to be provided with accurate information. 

Restricted: 
- Smoking in the public place 
- drink alcohol in the public places. 
- Scream and make violations 

SAM Setting: 

not allowed 

Mein Code, der mit anderen Worten nicht funktioniert, ist es nicht in Absätze aufgeteilt:

String text=driver.findElement(By.xpath(".//*[@id='Content_tdMainContent']")).getText(); 
String[] eachSentence=text.split("^\\s*$"); 
+0

Split auf leere Zeilen '^ \ s * $'? [Siehe hier bei regex101] (https://regex101.com/r/0XGVxb/1). – ClasG

+0

Es funktioniert nicht –

+0

@ S.Dase Ich denke, das ganze Problem ist mit der Aufspaltung der 'Text', die Sie von überall erhalten können und bezieht sich auf Java. Wie ist es mit Selen verbunden? – DebanjanB

Antwort

1

Split der Text mit diesem regex \n{2,} oder \n(?:\s*\n\s*)+ (dies ist für den Fall, dass in den neuen Zeilen einige Leerzeichen enthalten sein könnten). Es entfernt alle leeren Zeilen.

+0

Ich brauche nicht jeden Satz, aber ich brauche einen Absatz –

+0

Das funktioniert, vorausgesetzt, das angegebene Beispiel ist falsch, da es Zeilenvorschübe enthält (wie ich es interpretiere und wie falsch das ist). – ClasG

+0

Ich denke, Absätze sind mit 2 oder mehr Zeilen getrennt? Ich werde die Regex für diesen Fall ändern. – Slim