Feedback

C# - Stopwörter in einem Text entfernen (Deutsch)

Veröffentlicht von am 30.07.2006
(2 Bewertungen)
Bei der Volltextsuche stören häufig Wörter wie "aber" oder "der", diese können mit dieser Funktion entfernt werden.

benötigte Namespaces:
System.Collections
System.Text.RegularExpressions
GFU-Schulungen  [Anzeige]

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. 

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.

/// <summary>
/// Diese Funktion entfernt alle deutschen Stopworte aus dem übergebenen String.
/// </summary>
/// <param name="Orginaltext">der Orginaltext</param>
/// <returns>der Orginaltext ohne Stopworte und ohne satz- und sonderzeichen</returns>
private string StoppwörterEntfernen(string orginaltext)
{
    // dieses Array enthällt alle Stoppwörter
    string[] arrStopwörter = { "aber", "alle", "allen", "alles", "als", "also", "andere", "anderem", "anderer", "anderes", "anders", "auch", "auf", "aus", "ausser", "ausserdem", "bei", "beide", "beiden", "beides", "beim", "bereits", "bestehen", "besteht", "bevor", "bin", "bis", "bloss", "brauchen", "braucht", "dabei", "dadurch", "dagegen", "daher", "damit", "danach", "dann", "darf", "darueber", "darum", "darunter", "das", "dass", "davon", "dazu", "dem", "den", "denn", "der", "des", "deshalb", "dessen", "die", "dies", "diese", "diesem", "diesen", "dieser", "dieses", "doch", "dort", "duerfen", "durch", "durfte", "durften", "ebenfalls", "ebenso", "ein", "eine", "einem", "einen", "einer", "eines", "einige", "einiges", "einzig", "entweder", "erst", "erste", "ersten", "es", "etwa", "etwas", "falls", "fast", "ferner", "folgender", "folglich", "fuer", "ganz", "geben", "gegen", "gehabt", "gekonnt", "gemaess", "getan", "gewesen", "gewollt", "geworden", "gibt", "habe", "haben", "haette", "haetten", "hallo", "hat", "hatte", "hatten", "heraus", "herein", "hier", "hin", "hinein", "hinter", "ich", "in", "ihm", "ihn", "ihnen", "ihr", "ihre", "ihrem", "ihren", "ihres", "immer", "indem", "infolge", "innen", "innerhalb", "ins", "inzwischen", "irgend", "irgendwas", "irgendwen", "irgendwer", "irgendwie", "irgendwo", "ist", "jede", "jedem", "jeden", "jeder", "jedes", "jedoch", "jene", "jenem", "jenen", "jener", "jenes", "kann", "kein", "keine", "keinem", "keinen", "keiner", "keines", "koennen", "koennte", "koennten", "konnte", "konnten", "kuenftig", "leer", "machen", "macht", "machte", "machten", "man", "mehr", "mein", "meine", "meinen", "meinem", "meiner", "meist", "meiste", "meisten", "mich", "mit", "moechte", "moechten", "muessen", "muessten", "muss", "musste", "mussten", "nach", "nachdem", "nacher", "naemlich", "neben", "nein", "nicht", "nichts", "noch", "nuetzt", "nur", "nutzt", "ob", "obgleich", "obwohl", "oder", "ohne", "per", "pro", "rund", "schon", "sehr", "seid", "sein", "seine", "seinem", "seinen", "seiner", "seit", "seitdem", "seither", "selber", "sich", "sie", "siehe", "sind", "sobald", "solange", "solch", "solche", "solchem", "solchen", "solcher", "solches", "soll", "sollen", "sollte", "sollten", "somit", "sondern", "soweit", "sowie", "spaeter", "stets", "such", "ueber", "ums", "und", "uns", "unser", "unsere", "unserem", "unseren", "viel", "viele", "vollstaendig", "vom", "von", "vor", "vorbei", "vorher", "vorueber", "waehrend", "waere", "waeren", "wann", "war", "waren", "warum", "was", "wegen", "weil", "weiter", "weitere", "weiterem", "weiteren", "weiterer", "weiteres", "weiterhin", "welche", "welchem", "welchen", "welcher", "welches", "wem", "wen", "wenigstens", "wenn", "wenngleich", "wer", "werde", "werden", "weshalb", "wessen", "wie", "wieder", "will", "wir", "wird", "wodurch", "wohin", "wollen", "wollte", "wollten", "worin", "wuerde", "wuerden", "wurde", "wurden", "zufolge", "zum", "zusammen", "zur", "zwar", "zwischen" };

    // Dictionary anlegen
    Dictionary<string, bool> dicStöppwörter = new Dictionary<string, bool>();
    
    // Dictionary füllen
    foreach (string stoppwort in arrStopwörter)
        dicStöppwörter.Add(stoppwort, true);
 
    // String Array aus dem Orginaltext anlegen, alle "nicht - Wortzeichen" werden entfernt
    string[] arrOrginaltext = Regex.Split(orginaltext, @"\W+");

    // Stringbuilder für den Rückgabewert anlegen
    StringBuilder rückgabe = new StringBuilder();

    // nur alle nicht-Stoppwörter werden an den Rückgabestring angehängt
    foreach (string wort in arrOrginaltext)
        if (!dicStöppwörter.ContainsKey(wort.ToLower()))
            rückgabe.Append(wort + " ");

    return rückgabe.ToString();
}
Abgelegt unter Stopwort, Stopwörter, Suche, Volltextsuche.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!