Bestimmtes Zeichen löschen, nicht durch Leerzeichen ersetzen

desaster0505

Erfahrenes Mitglied
Hallo !

Ich will eine bestimmte Zeichenfolge löschen:

Java:
Ausgabe=Ausgabe.replaceAll("\\[[.[^\\]]]*\\]","");

Das funktionert auch, aber er macht mir da ein zusätzliches Leerzeichen hin. Wie kann ich denn sagen, dass es wirklich gelöscht werden soll , sodass da kein Leerzeichen hinzukommt ?

Danke für eure Hilfe
 
Es ist besser du speicherst das ganze in eine String und dann übergibst du es einem Stringbuffer z.B.

Java:
String example = "halli hallo";
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(new String(example));
//letzte zeichen löschen
stringBuffer.deleteCharAt(example.length()-1);

Wir wissen noch nicht mal welche Zeichen du wirklich löschen willst.

Gruß
 
Naja, der reguläre Ausdruck, (bzw. die Wörter die auf das Muster zutreffen) den ich gepostet habe, der wird ja wie man oben sieht durch Leerzeichen ersetzt. In einem längeren Satz entsteht somit zwischen zwei Wörtern nicht ein Leerzeichen sondern ein zweites.

Beispiel:

Das ist ein (hier steht das Muster/Wort was durch ein Leerzeichen ersetzt wird) Satz.
Das ist ein Satz. (2 Leerzeichen zwischen "ein" und "Satz")

Beipspiel Ende.

Das möchte ich vermeiden und sagen, dass er das Wort nicht durch ein Leerzeichen ersetzt, sondern, wo das Muster zutrifft, das Wort löscht.

Wenns eine andere Methode gibt, nennt mir die Bitte auch.

Danke
 
Hallo,

wie wär's denn damit?
Java:
/**
 * 
 */
package de.tutorials;

/**
 * @author Tom
 *
 */
public class RegexExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String s = "Das ist ein blöder Satz.";
        System.out.println(s.replaceAll("blöder\\s", ""));
    }
}

Gruß Tom
 
Hi.
Das möchte ich vermeiden und sagen, dass er das Wort nicht durch ein Leerzeichen ersetzt, sondern, wo das Muster zutrifft, das Wort löscht.
Genau das passiert ja auch - da wird nichts durch ein Leerzeichen ersetzt. Das auf das Muster zutreffende Wort wird durch das leere Wort ersetzt - also gelöscht. Nur wenn vor und hinter dem Wort ein Leerzeichen stand, sind es nach der Ersetzung natürlich 2 Leerzeichen hintereinander.

Du könntest ja z.B. nach dem Löschen des gesuchten Wortes nachträglich die doppelten Leerzeichen entfernen. Oder du passt deinen reg. Ausdruck an, so das dieser zusätzlich auch noch ein Leerzeichen enthält.

Gruß
 
Zurück