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]

VB.NET Aufbau

Sie verfügen nach der Schulung über fundierte Kenntnisse in der Arbeit mit objektorientierten Modellen in VB.NET und können wiederverwendbare Komponenten eigenständig erzeugen.

C# 2017/2015/2013 Aufbau

In dieser Schulung lernen Sie fortgeschrittene Techniken im Bereich .Net C#. Dabei stehen neben den eigentlichen Techniken auch architektonische Aspekte im Mittelpunkt.

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