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]

C# Aufbaukurs

Sie haben grundlegende .NET- und C#-Kenntnisse und und wollen diese nun erweitern. Der Aufbaukurs C# führt Sie ein die Arbeit mit Interfaces und Delegates, Generics und Parallel Computing.

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

/// <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!