Feedback

C# - Zählen der Wörter

Veröffentlicht von am 20.11.2015
(2 Bewertungen)
Methode zum Zählen der Wörter
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.

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

        public static int WoerterZahlen(string woerter)
        {
            return Regex.Matches(woerter, @"[\S]+").Count;
        }
Abgelegt unter Zählen.

4 Kommentare zum Snippet

Koopakiller schrieb am 20.11.2015:
warum nutzt du nicht die integrierte String.Split-Funktion?
Die dürfte deine Methode um das vielfache in der Geschwindigkeit schlagen.
Wenn man der Methode ein leeres Array übergibt wird der String auch an jedem Leerzeichen geteilt. Über den 2. Parameter kann man leere Teilstrings auch aussortieren.
Patrick Semmler schrieb am 20.11.2015:
Was ist, wenn die Wörter nicht durch Leerzeichen, sondern durch Satzzeichen (,.:;) getrennt sind? Gut, normalerweise macht man nach einem Komma oder Punkt ein Leerzeichen, aber die Ausnahmen bestätigen die Regel.
Wenn schon mit einer Regex, dann richtig:
\w+
WuffProjects schrieb am 19.12.2015:
Auch \w+ ist keine gute Lösung, wegen Umlauten und anderen Sonderzeichen in Namen und Fremdwörtern.
Koopakiller schrieb am 20.12.2015:
Ich denke dass \w+ unter .NET sehr wohl funktioniert. Laut Dokumentation[1] ist im Standardfall nämlich jedes Zeichen aus den dort aufgeführten Unicode-Blöcken in der Gruppe enthalten. Lediglich im ECMA-Compliant-Modus verhält sich \w wie [a-zA-Z_0-9].

[1] https://msdn.microsoft.com/en-us/library/20bw873z.aspx#WordCharacter
 

Logge dich ein, um hier zu kommentieren!