Feedback

C# - String ohne Zeichenentfernung aufsplitten

Veröffentlicht von am 12.02.2013
(2 Bewertungen)
Diese Methoden können einen String an einem Zeichen aufsplitten ohne das Trennzeichen zu entfernen.
Es kann angegeben werden ob das Trennzeichen vor oder hinter den Teilstrings stehen soll. Außerdem können leere Teilstrings entfernt werden.

Diese Methoden sind als Erweiterungen für string geschrieben.
GFU-Schulungen  [Anzeige]

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

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.

        /// <summary>
        /// Spaltet einen String an einem Zeichen auf.
        /// </summary>
        /// <param name="s">Der aufzuspaltende String.</param>
        /// <param name="c">Das Trennzeichen.</param>
        /// <param name="after"><c>true</c> wenn das Trennzeichen vor den Zeichen ketten stehen soll, andernfalls <c>false</c>.</param>
        /// <returns>Die Teilstrings.</returns>
        public static string[] Split(this string s, char c, bool after)
        {
            return Split(s, c, after, StringSplitOptions.None);
        }
        /// <summary>
        /// Spaltet einen String an einem Zeichen auf.
        /// </summary>
        /// <param name="s">Der aufzuspaltende String.</param>
        /// <param name="c">Das Trennzeichen.</param>
        /// <param name="after"><c>true</c> wenn das Trennzeichen vor den Zeichen ketten stehen soll, andernfalls <c>false</c>.</param>
        /// <param name="o">Weitere Optionen zum aufsplitten</param>
        /// <returns>Die Teilstrings.</returns>
        public static string[] Split(this string s, char c, bool after, StringSplitOptions o)
        {
            string t = "";
            //Spezielle Zeichen in Regex
            if (c == '.' || c == ',' || c == '+' || c == '-' || c == '*' || c == '(' || c == ')'
             || c == '[' || c == ']' || c == '{' || c == '}' || c == '|' || c == '?' || c == '\\')
                t = string.Concat(@"\", c);
            else if(c == ' ')
                t = @"\s"; //Leerzeichen
            else
                t = c.ToString(); //Sonstiges Zeichen
            if (o == StringSplitOptions.None)
                if (after)
                    return Regex.Split(s, string.Concat(@"(?=", t, @")"));
                else
                    return Regex.Split(s, string.Concat(@"(?<=", t, @")"));
            else
            {
                List<string> l = new List<string>();
                if (after)
                    l.AddRange(Regex.Split(s, string.Concat(@"(?=", t, @")")));
                else
                    l.AddRange(Regex.Split(s, string.Concat(@"(?<=", t, @")")));
                l.Remove("");//Leere Items entfernen
                return l.ToArray();
            }
        }
Abgelegt unter split, string, regex, trennen, erweiterungsmethode.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!