Zeilenumbruch in einem String erzwingen

erst mal Danke an alle für die Antworten!
Das hilft mir schon weiter...

@Akeshihiro: Habe dein Beispiel mit dem vom HerbertXXL gemixxt :)
Undzwar wegen dem replaceAll.

Wo und wie kann ich hier nach den 70 Zeichen ein Zeilenumbruch-Zeichen== \n hinzufügen?
Code:
p = Pattern.compile(".{1," + maxLength + "}$|.{1," + (maxLength - 1) + "}(\\.|,| )");

Und könnte man auch dem regex mitgeben, dass es nur 5 Zeilen sein dürfen?
Wenn es mehr als 350 Zeichen sind, soll der Rest einfach gelöscht werden...
 
Den Zeilenumbruch kannst du z.B. bei der Speicherung oder bei der Ausgabe einfügen.

Bei dem Ablegen in die Liste ginge das z.B. so:
Code:
// Übereinstimmungen suchen und speichern
while(m.find()) {
	strTmp.add(m.group() + "\n");
}

Die Möglichkeit mit der Ausgabe wäre z.B. so:

Code:
// Ausgabe
for(int i = 0; i < 5; i++) {
	System.out.print(strTmp.get(i) + "\n");
}
Bei der Ausgabe könnte man das auf 5 Zeilen einschränken, indem man die Schleife nur 5 Mal durchlaufen lässt, wie ich es in dem Codeschnippsel gemacht hab.

EDIT:
Hab noch was vergessen zu sagen.
In dem Regex kannst du in diesem Abschnitt "(\\.|,| )" einstellen, welche Zeichen für das Trennen erlaubt sind. Ich habe nur nen Punkt, nen Komma und nen Leerzeichen benutzt. Kannst aber auch noch andere Zeichen einsetzen, die müssen aber alle durch ne Pipe getrennt sein!

EDIT2:
Es gäbe da noch eine Möglichkeit:
Code:
// Einträge auf 5 Einträge zurechtstutzen
try {
	strTmp = strTmp.subList(0, 5);
} catch(IndexOutOfBoundsException e) {
}

Wie man das im Regex selbst einschränken könnte, weiß ich grad so auf Anhieb nicht, habs zwar versucht, aber hat nicht geklappt... Aber hast ja andere Möglichkeiten, auf die du zurückgreifen kannst ^^

Man könnte auch schon beim Einfügen in die Liste auf eine bestimmte Anzahl von Einträgen prüfen lassen, wäre vielleicht sogar klüger, weil bei einem riesigen Text dann die Liste nicht entsprechend anwächst, sondern nur so groß ist, wie se sein soll.
Code:
// Übereinstimmungen suchen und speichern
while(m.find() && strTmp.size() < 5) {
	strTmp.add(m.group());
}
 
Zuletzt bearbeitet:
Zurück