Feedback

C# - String auf mehrere Teilstrings durchsuchen

Veröffentlicht von am 07.03.2013
(1 Bewertungen)
Diese Methode durchsucht einen String auf mehrere andere Strings. Dabei können Optionen für den Vergleich sowie eine Option für den Suchmodus angegeben werden.

Wenn der Suchmodus auf One steht muss mindestens ein String aus dem Array gefunden werden, bei All müssen alle Teilzeichenfolgen gefunden werden.

Diese Methode ist als Erweiterung für System.String implementiert. Sie kann so verwendet werden:
string s = "Test123";
Console.WriteLine(s.Contains(new string[] { }, StringComparison.CurrentCulture, StringContainsMode.All));
Console.WriteLine(s.Contains(new string[] { }, StringComparison.CurrentCulture, StringContainsMode.One));
Console.WriteLine(s.Contains(new string[] { "123", "456" }, StringComparison.CurrentCulture, StringContainsMode.All));
Console.WriteLine(s.Contains(new string[] { "123", "456" }, StringComparison.CurrentCulture, StringContainsMode.One));
Console.ReadKey();
GFU-Schulungen  [Anzeige]

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

VB.NET 2017/2015/2013 Aufbau

Nach dieser Schulung können Sie mittels objektorientierter Modelle in VB.NET 2017/2015/2013 wiederverwendbare Elemente eigenständig erstellen.

    static class Extensions
    {
        /// <summary>
        /// Gibt einen Wert zurück, der angibt ob ein- oder mehrere System.String-Objekte in dieser Zeichenfolge vorkommen.
        /// </summary>
        /// <param name="s">Die Zeichenfolge in der gesucht werden soll.</param>
        /// <param name="c">Die zu suchenden Teilzeichenfolgen.</param>
        /// <param name="m1">Der Modus, wie die Teilzeichenketten mit dieser Zeichenfolge verglichen werden sollen.</param>
        /// <param name="m2">Der Modus, wie gesucht werden soll.</param>
        /// <returns>true wenn die Teilzeichenfolgen in den angegebenen Modi in dieser Zeichenfolge vorkommen, andernfalls false.</returns>
        public static bool Contains(this string s, string[] c, StringComparison m1, StringContainsMode m2)
        {
            if (string.IsNullOrWhiteSpace(s) || c.Length == 0)
                return false;

            if (m2 == StringContainsMode.One)
            {
                foreach (string i in c)
                    if (s.IndexOf(i, m1) > -1 && !string.IsNullOrWhiteSpace(i))
                        return true;
                return false;
            }
            else
            {
                foreach (string i in c)
                    if (!(s.IndexOf(i, m1) > -1 && !string.IsNullOrWhiteSpace(i)))
                        return false;
                return true;
            }
        }
    }
    enum StringContainsMode
    {
        One,
        All,
    }

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!