Feedback

C# - SimplifyChars

Veröffentlicht von am 12.10.2013
(0 Bewertungen)
Diese Methoden sind in der Lage, mehrfache Vorkommen bestimmter Zeichen gegen eines zu ersetzen.

Die Methode habe ich als Erweiterung für String und StringBuilder implementiert. In der Regel ist die StringBuilder-Version schneller. Für einfache Ersetzungen reicht aber auch die String-Variante.
GFU-Schulungen  [Anzeige]

ASP.NET Core - Der Einstieg

In nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

/// <summary>
/// Ersetzt alle doppelten Vorkommen eines Zeichens gegen eines, bis nur noch einzelne Zeichen vorkommen.
/// </summary>
/// <param name="value">Die Zeichenfolge, deren doppelten Vorkommen von <paramref name="c"/> ersetzt werden sollen.</param>
/// <param name="c">Das zu suchende, doppelt vorkommende, Zeichen.</param>
/// <returns>Eine neue <see cref="System.String"/>-Instanz, in der kein doppeltes Vorkommen von <paramref name="c"/> vorkommt.</returns>
public static string SimplifyChars(this string value, char c)
{
	string chars = string.Format("{0}{0}", c);
	string @char = c.ToString();
	while (value.IndexOf(chars) >= 0)
		value = value.Replace(chars, @char);
	return value;
}

/// <summary>
/// Ersetzt alle doppelten Vorkommen eines Zeichens gegen eines bis, nur noch einzelne Zeichen in dieser Instanz enthalten sind.
/// </summary>
/// <param name="instance">Die Instanz, deren doppelten Vorkommen von <paramref name="c"/> ersetzt werden sollen.</param>
/// <param name="c">Das zu suchende, doppelt vorkommende, Zeichen.</param>
/// <returns>Die Instanz des <see cref="System.Text.StringBuilders"/>, dessen doppelten Vorkommen von <paramref name="c"/> nun nur noch einmal vorkommt.</returns>
public static StringBuilder SimplifyChars(this StringBuilder instance, char c)
{            
	string chars = string.Format("{0}{0}", c);
	string @char = c.ToString();
	int oldlength=0;
	 while (oldlength != instance.Length) {
		 oldlength = instance.Length;
		 instance.Replace(chars, @char);
	 }
	return instance;
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!