Hallo Leute,
für eine Textverarbeitung habe ich 2 Methoden die mir Probleme bereiten.
Zum einen die Methode:
Diese Methode soll einen Teilstring ab der gewünschten startPosition (als Index) bis zum nächsten Leerzeichen bzw. bis zum Textende liefern.
Erstellt habe ich diese wie folgt:
eingabeText ist dabei eine String Variable, die den Text enthält.
Die Methode funktioniert so auch, liefert aber bislang nur den Teilstring ab der startPosition. Wie kann ich den Teilstring bis zum Leerzeichen begrenzen?
Die zweite Methode:
Diese Methode soll in den Text (bislang ohne newlines) nun newlines einfügen, sodass der Wert maxBreite je Zeile nicht überschritten wird. Innerhalb eines Wortes darf allerdings nicht getrennt werden. Es wird also ein Absatztext erstellt. Ausnahme: Sollte ein Wort länger als maxBreite sein, darf die Zeilenbreite maxBreite überschritten werden.
Erstellt habe ich diese bisher wie folgt:
Da nach jedem Wort bzw. Satzende ein Leerzeichen vorhanden ist wollte ich das entsprechende Leerzeichen durch eine newline ersetzen. Auch wird ein Wort so nicht getrennt. Das klappt soweit auch, allerdings werden momentan alle Leerzeichen bei erreichen von maxBreite ersetzt. Wie kann ich hier erreichen, dass dass Ersetzen erst bei erreichen von maxBreite geschieht?
Vielen Dank im Voraus.
für eine Textverarbeitung habe ich 2 Methoden die mir Probleme bereiten.
Zum einen die Methode:
Code:
String getWort(int startPosition)
Erstellt habe ich diese wie folgt:
Java:
public String getWort(int startPosition) {
String getWort = eingabeText.substring(startPosition);
return getWort;
}
Die Methode funktioniert so auch, liefert aber bislang nur den Teilstring ab der startPosition. Wie kann ich den Teilstring bis zum Leerzeichen begrenzen?
Die zweite Methode:
Code:
String getText(int maxBreite)
Erstellt habe ich diese bisher wie folgt:
Java:
public String getText(int maxBreite) {
int stringlaenge = eingabeText.trim().length();
if (stringlaenge > maxBreite) {
String getText = eingabeText.replace(" ", "\n");
return getText;
}
else return eingabeText;
}
Vielen Dank im Voraus.