Entferne überflüssige Whitespaces mit C#

Heute wurde ich gefragt, ob und wie es möglich sein, mit Hilfe von C# alle doppelten bzw. überflüssigen Whitespaces in einem Text zu entfernen. Mit Whitespaces meinte er nicht nur Leerzeichen, sondern auch Zeilenumbrüche sowie Tab's, etc.

Trim() ist hierbei keine Möglichkeit, da wir ja wissen, das Trim() nur die Whitespaces am Anfang und am Ende eines Strings entfernt. Mit "Replace" kann man zwar auch Zeichen innerhalb des Textes ersetzen, was uns aber an dieser Stelle ebenfalls nichts bringt, da wir ja nicht alle, sondern nur die überflüssigen Whitespaces entfernen wollen. Die Lösung für diese Problem nennt sich RegEx.

Der Text, wie er vorher aussah:

Ihr naht euch wieder  ,                schwankende Gestalten!             Die früh sich einst dem trüben Blick gezeigt.
   Versuch’ ich  wohl euch         diesmal fest zu halten?

soll nachher wie folgt aussehen.

Ihr naht euch wieder, schwankende Gestalten! Die früh sich einst dem trüben Blick gezeigt. Versuch’ ich wohl euch diesmal fest zu halten?

Die nun folgende Code Zeile macht genau das. Sie entfernt überflüssige Whitespaces...

string text = "Ihr naht euch wieder  ,                schwankende Gestalten!             Die früh sich einst dem trüben Blick gezeigt.   Versuch’ ich  wohl euch         diesmal fest zu halten?";
string textClean = System.Text.RegularExpressions.Regex.Replace(text, @"\s+", " ");

Aber nicht vergessen: Mit dieser Lösung werden auch alle Whitespaces, inklusive Zeilenumbrüche, Tabs, usw. ebenfalls entfernt.



Most Recent


More posts

Eine Datei mit C# lesen
Eine Datei mit C# lesen

Mit der Fähigkeit Dateien mit seiner Anwendung zu lesen, ermöglicht das einem ganz neue Möglichkeiten. Man kann entweder Ausgaben von anderen...

Sha Hash für Strings mit C#
Sha Hash für Strings mit C#

Vor einiger Zeit hab ich bereits gezeigt wie man SHA Hashes eines Strings mit Java generiert. Nun möchte ich aber der .Net Gemeinde nichts...

Die Anzahl eines Zeichens in einem String ermitteln
Die Anzahl eines Zeichens in einem String ermitteln

Heute wurde ich mal wieder mit einem kleinen Problemchen konfrontiert. Und zwar musst ich die Anzahl eines bestimmten Zeichens innerhalb eines...

SQL-Server: If Exists Update Else Insert
SQL-Server: If Exists Update Else Insert

Eine eine ziemlich häufige und immer wiederkehrende Situation, bei der Entwicklung mit Datenbanken ist es, das man Daten aktualisieren, bzw wenn...