Wie kann ich mit regex ein Zeichen ersetzen?
Hallo.
Ich möchte in einem Text alle PUNKTE durch LEERZEICHEN ersetzen und stehe auf dem Schlauch. Kann mir jemand weiterhelfen?
Der Originaltext: "Ich.muss.um.10.zur.Bahn"
soll mit regex die Punkte durch Leerzeichen ersetzen, sodass ich folgendes Ergebnis erhalte:
"Ich muss um 10 zur Bahn"
Kann mir jemand erklären, wie ich zum Ergebnis komme?
2 Antworten
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
In der Sprache Perl würde der Befehl wie folgt lauten:
s/\./ /g;
Das ersetzt alle Punkte im String $_ durch Leerzeichen.
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
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.
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
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.
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.