Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich habe einen Text und möchte den gerne an jedem 5.ten Leerzeichen aufsplitten. Das aufsplitten geht mit split(). Aber wie zähle ich jedes 5.te Leerzeichen? Geht sowas überhaupt?
LG Sabine
Möchtest du also den Text bis zum 5. Leerzeichen in einen neuen String, dann nach dem 5. bis zum 10. in einen anderen neuen String, usw?
Dann kannste auch den StringTokenizer verwenden. Der zerlegt dir den String (also deinen Text), indem er immer, wenn ein bestimmtes Zeichen (in diesem Fall ein Leerzeichen) auftritt, den String bis dorthin abschneidet. Du könntest das dann so machen, dass er dir dann immer 5 Durchläufe lang diese Teile nimmt und zusammenbaust und die nächsten 5 Durchläufe dann in einen anderen String usw.
Genau, ab dem 5. Leerzeichen will ich nämlich ein \n einführen, damit der Text an der Stelle umbricht. Ich hab nur noch keine Vorstellung wie er das 5. Leerzeichen ermitteln soll. Eine doppelte Schleife?
Ich habe einen Text und möchte den gerne an jedem 5.ten Leerzeichen aufsplitten. Das aufsplitten geht mit split(). Aber wie zähle ich jedes 5.te Leerzeichen? Geht sowas überhaupt?
LG Sabine
Aber man kann doch an dieser Stelle einen Zeilenumbruch \n oder <br> (html) einführen, so dass es ausschaut als würde der Text an der Stelle abgeschnitten.
Dann haste deinen neuen String und nach dem 5. Leerzeichen sagst du ihm, dass er ab jetzt in nen neuen String kopieren soll. Du könntest dann sogar ne Abfrage einbauen, damit er nicht zwischen zwei hintereinanderfolgenden Leerzeichen denkt da wäre ein Text und dann nach nur 4 gefühlten Leerzeichen nen Zeilenumbruch macht.
@bienchen84
Das mit dem StringTokenizer war meine Idee und ist vielleicht auch viel aufwändiger als der Ansatz von deathbabyclown, da kenn ich mich noch nicht gut genug aus.
wenn Du magst, probier es mal hiermit. Wenn du es mal im Debugger laufen lässt, dürfte auch das Verständnis keine Schwierigkeiten bereiten.
Gruß,
Ralf
Java:
String s="Dieser String hier wird bei jedem 5. Leerzeichen geteilt und in kleine Stücke zerlegt";
String neuerString= null;
int pointer=0;
int laenge = s.length();
int index = 0;
while (pointer < laenge) {
for (int i = 0; i < 5; i++) {
pointer = s.indexOf(' ', pointer + 1);
if(pointer == -1) {
pointer = s.length();
break;
}
}
neuerString = new String(s.substring(0, pointer));
s = s.substring(pointer);
laenge = s.length();
pointer=0;
}