46 Stimmen

Regulärer Ausdruck: Doppelte Leerzeichen entfernen

Frage von SimplyMe | Letztes Update am 09.12.2022 | Erstellt am 25.12.2012

Ich suche einen regulären Ausdruck, um aus einem String alle doppelten Leerzeichen zu entfernen. Ich weiß, dass ich mit trim() überflüssige Leerzeichen vom Anfang und vom Ende eines Strings entfernen kann. Wie mache ich dies aber auch innerhalb des Strings?

AntwortenPositivNegativ
5Beste Antwort7 Stimmen

Der reguläre Ausdruck, um doppelte Leerzeichen zu matchen ist " +" - also ein Leerzeichen gefolgt von einem Plus-Zeichen, das für eine beliebig häufige Wiederholung steht.

Wenn wir danach suchen und alle Vorkommnisse mit einem einfachen Leerzeichen ersetzen, können wir alle doppelten Leerzeichen aus einem Text beziehungsweise String entfernen. Hier ist ein Beispiel für PHP:

$s = 'Ein   Satz.';
$s = preg_replace('# +#', ' ', $s);
echo $s; // 'Ein Satz.'

Doppelten Whitespace entfernen

Da du auch von der Trim-Funktion gesprochen hast, die sämtlichen Whitespace entfernt, hier noch ein weiteres Beispiel, wie du nicht nur die doppelten Leerzeichen sondern auch jeglichen anderen doppelten Whitespace wie Leerzeichen, Tabs, Zeilenumbrüche und so weiter entfernen kannst:

$s = 'Ein   Satz.';
$s = preg_replace('#\s+#', ' ', $s);
echo $s; // 'Ein Satz.'

Das \s steht für ein beliebiges Whitespace-Zeichen, es matcht also Leerzeichen, Tabs, Zeilenumbrüche und so weiter. Mit dem Plus suchen wir nun alle Vorkommnisse in unserem String $s, wo mindestens zwei Whitespace-Zeichen hintereinander vorkommen. Jeden Treffer ersetzen wir dann mit einem einfachen Leerzeichen.
Letztes Update am 09.12.2022 | Erstellt am 26.12.2012

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.