2Danke
ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
576
576
EMPFEHLEN
-
10.01.12 13:33 #1
- Registriert seit
- Jan 2012
- Beiträge
- 4
Hallo,
ich habe eine Methode, die einen String in einen Stringbuffer mit sb.appand(Wort+"\n") dranhängt. Der Speicher vom Stringbuffer ist vorher festgelegt.
Nun muss ich eine Methode schreiben, die ein Wort aus dem buffer löscht. Bis hier hin hab ich es noch hinbekommen. Mein Problem ist jetzt, wenn ich das gesuchte Wort lösche dann entsteht genau da eine Leerzeile. Ich habe versucht diese Leerzeile durch eine if abfrage zu löschen/ersetzen.
Damit löscht er nicht nur die Leerzeile sondern hängt die Wörter zusammen. Beispiel:
Im Stringbuffer:
brille
stift
mappe
stift möchte ich jetzt löschen, als ausgabe bekomme ich:
brille
mappe
Wenn ich die Leerzeile lösche/ersetze, als ausgabe bekomme ich:
brillemappe
Das ist die abfrage für das Löschen der Leerzeile:
Code :1 2 3 4 5 6 7 8 9 10 11
for(int h=0; h<sb.length(); h++) { if(sb.indexOf("\n") == h){ //sb.deleteCharAt(h); //sb.insert(h, " "); //sb.replace(h, h, " "); //sb.setCharAt(h, ' '); //sb.delete(sb.indexOf("\n"), h); }break; }
Was mache ich falsch?
-
10.01.12 13:49 #2
Hi und Willkommen bei tutorials.de,
ich würde dir empfehlen für das entfernen von einem String nicht über den StringBuffer sondern über String zu gehen. Das geht viel einfacher und funktioniert auch.
Code java:1 2 3 4 5 6 7 8 9 10
StringBuffer str = new StringBuffer(); str.append("brille").append("\n"); str.append("stift").append("\n"); str.append("mapp").append("\n"); String string = str.toString(); string = string.replace("stift\n", ""); str = new StringBuffer(string); System.out.println(str);
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
10.01.12 14:08 #3
- Registriert seit
- Jan 2012
- Beiträge
- 4
Danke für deine Antwort.
Das Problem ist jetzt dass er alle Wörter(stift) löscht. Er soll nur eins löschen.
Ich hab das jetzt mich s.replaceFirst gemacht. Aber habe immer noch das problem dass da jetzt immer noch die Leerzeile da ist.Geändert von sheel (10.01.12 um 18:14 Uhr) Grund: Doppel
-
10.01.12 15:36 #4
Hallo,
am besten du postest mal deinen aktuellen Stand in Form von Code.Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
10.01.12 16:16 #5
- Registriert seit
- Jan 2012
- Beiträge
- 4
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
void add(String wort) { sb.append(wort+"\n"); } void remove(String delete) { String s = sb.toString(); for(int z=0; z<sb.length()-1; z++) { if(z == s.indexOf(delete)) { s=s.replaceFirst(delete, ""); sb = new StringBuffer(s); break; } } }
-
10.01.12 16:19 #6
Du musst einfach in dieser Zeile das +"\n" ergänzen:
Dann sollte es auch funktionieren.Code java:1
s=s.replaceFirst(delete+"\n", "");
Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
Ähnliche Themen
-
StringBuffer - kleine Minifrage ;-)
Von nighty86 im Forum Java GrundlagenAntworten: 5Letzter Beitrag: 18.11.10, 08:28 -
Leerzeile entfernen
Von chocox im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 2Letzter Beitrag: 13.09.10, 10:58 -
Anwendung StringBuffer
Von _Truck_ im Forum JavaAntworten: 2Letzter Beitrag: 31.07.07, 10:59 -
StringBuffer an konstruktor übergeben
Von AndreG im Forum JavaAntworten: 3Letzter Beitrag: 01.03.04, 18:27 -
Leerzeile entfernen klappt nicht
Von toboli im Forum PHPAntworten: 2Letzter Beitrag: 10.02.04, 10:58





Zitieren
Login





