Wie kann ich mit regex ein Zeichen ersetzen?

2 Antworten

In der Sprache Perl würde der Befehl wie folgt lauten:

s/\./ /g;

Das ersetzt alle Punkte im String $_ durch Leerzeichen.


Kasupke 
Beitragsersteller
 04.11.2022, 07:12

Vielen Dank, aber das hilft mir leider nicht weiter. Wenn ich das bei regex101.com prüfe, erhalte ich die Meldung Pattern Error.
Leider bin ich mit regex nicht vertraut.

ultrarunner  04.11.2022, 12:59
@Kasupke

Ja, weil das Obige nicht nur ein Pattern ist, sondern eine ganze Perl-Anweisung, die auch gleich die Ersetzung jedes Auftretens des Patterns durch ein Leerzeichen erledigt.

Das Pattern allein wäre:

\.

Wenn du dieses auf regex101.com eingibst und dort auch die Option "g" aktivierst, dann tut das genau das von dir Gewünschte.

Ich vermute mal, die Programmiersprache ist Java.

Am einfachsten mit string.replaceAll

Ansonsten könntest du eine while-Schleife verwenden mit der Bedingung, dass die RegEx beim aktuellen string einen Treffer verzeichnet. Lohnt sich aber nur, wenn es unbedingt string.replace statt string.replaceAll sein muss.