Ich habe eine Textdatei, die URLs und E-Mails enthält. Ich muss alle aus der Datei extrahieren. Jede URL und E-Mail kann mehr als einmal gefunden werden, aber das Ergebnis sollte keine Duplikate enthalten. Ich kann alle URLs extrahieren mit dem folgenden Code:Split java.util.stream.Stream
Files.lines(filePath).
.map(urlPattern::matcher)
.filter(Matcher::find)
.map(Matcher::group)
.distinct();
ich alle E-Mails extrahieren kann mit dem folgenden Code:
Files.lines(filePath).
.map(emailPattern::matcher)
.filter(Matcher::find)
.map(Matcher::group)
.distinct();
Kann ich extrahieren alle URLs und E-Mails, den Strom von Files.lines(filePath)
zurück Lesen nur ein Zeit? So etwas wie das Aufteilen von Streams von Zeilen in einen Stream von URLs und E-Mail-Streams.
'Stream- filestream = Files.lines (Paths.get ("Test")); \t \t fileStream.//email Spiel \t \t fileStream.//url match' Die einzige Lösung, die mir in den Sinn kommt, wenn Ihr Problem ist, dass Sie nicht –
Loki
2-Streams erstellen möchte ich denke, das Speichern der Linien in 'List' und zweimaliges Traversieren gilt nicht als Lösung, richtig? –
Loki, du kannst den gleichen Stream nicht zweimal durchlaufen. –