Ich möchte Sonderzeichen durch nichts ersetzen. Also habe ich versucht,Regex funktioniert nicht zum Ersetzen von Sonderzeichen
this.name.replace("[^a-zA-Z]+", "").trim()
ich das unten stehende Wort wnat zu 000 Vektor
OOO "Vektor"
Ich möchte Sonderzeichen durch nichts ersetzen. Also habe ich versucht,Regex funktioniert nicht zum Ersetzen von Sonderzeichen
this.name.replace("[^a-zA-Z]+", "").trim()
ich das unten stehende Wort wnat zu 000 Vektor
OOO "Vektor"
String.replace
nimmt ein wörtliches erstes Argument. replaceAll
verwendet eine regex
name = name.replaceAll("[^a-zA-Z ]+", "");
Die Dokumentation von replace
sagt:
Ersetzt jedes Teilzeichen dieser Zeichenfolge, die die wörtliche Zielsequenz mit dem angegebenen wörtlichen Ersatzsequenz entspricht.
Es werden keine regulären Ausdrücke benötigt.
Die Dokumentation von replaceAll
sagt:
jede Teilkette dieser Zeichenfolge ersetzt, die den regulären Ausdruck mit dem angegebenen Ersatz gegeben einstimmt.
So können Sie verwenden:
this.name.replaceAll("[^a-zA-Z]+", "").trim();
Sie auch replaceFirst
mit regulären Ausdrücken verwenden, hier nicht though.
Auch in einem Kommentar sagen Sie, dass Sie es versucht haben. Ich vermute, dass es ist, weil Sie gerade nutzen:
this.name.replaceAll("[^a-zA-Z]+", "").trim();
Aber Java-Strings sind unveränderlich, und ändern sich nicht von selbst. Daher sollten Sie verwenden:
this.name = this.name.replaceAll("[^a-zA-Z]+", "").trim();
'this.name.replaceAll ("[^ a-zA-Z] +", "") .trim()' –
ersetzen soll [t String als erster argumenet nicht akzeptieren Regex. –
bereits versucht und nicht funktioniert – Luxy