code it

Martins Tech Blog

RegEx-Cheat - Ersetzen von Nicht-Wort-Zeichen

Heute hab ich mich mal wieder etwas mit Regulären Ausdrücken beschäftigt. Das Interessante daran für mich ist, dass man mit wenig Schreibarbeit viel erreichen kann. So auch im folgenden Beispiel. Wie entfernt man alle Sonderzeichen aus einer Zeichenkette, so dass nur noch Wortzeichen wie a-z, A-Z, 0-9 und _ übrig bleiben?

Die einfache und kurze Lösung ist:

string result = Regex.Replace(searchstring,"\\W","");

Anzahl von Vorkommen eines Textes in einem anderen Text ermitteln

Heute war ich auf der Suche nach einer Funktion, die die Anzahl der Vorkommen eines Textes in einem anderen Text ermittelt. Leider boten mir weder System.Text noch System.String eine Funktion, mit der das mit wenig Aufwand möglich war.

Die doch recht einfache Lösung des Problems fand ich mit den Regulären Ausdrücken (System.Text.RegularExpressions)

using System.Text.RegularExpressions;

private int CountStrings(string str, string regexStr)
{
 Regex regex = new Regex(regexStr);
 return regex.Matches(str).Count;
}

Hilfe bei Regulären Ausdrücken

Reguläre Ausdrücke sind bekanntlich ein weites Feld und nicht immer einfach. Bei meiner Suche bin ich auf die Seite Regular Expression Library (RegExLib) getroffen. Hier stehen für viele Anwendungsgebiete reguläre Ausdrücke zur Verfügung - meist mit einer Angabe der Fälle, die abgedeckt sind und die nicht abgedeckt sind. Zusätzlich findet sich hier auch ein Tool, mit dem reguläre Ausdrücke getestet werden können.