Tags bzw. Keywords aus Textbox

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Tags bzw. Keywords aus Textbox

    Hallo,

    Ich möchte gerne ein kleines Formular per VB machen das ein Titel,
    Beschreibung sowie eine Ausgabe Textbox hat.

    Es sollen Tags dann zusammengestellt werden durch den Titel und der Beschreibung,
    wichtig ist aber das die Worte (Der) (Die) (Das) (oder) (und) usw. nicht als Tag genommen werden,
    dann sollen diese in der Ausgabe Textbox beispiel: Programmierung, Bauen, Essen, mit ein Komma getrennt werden.

    Ich habe leider noch nichts passendes gefunden, auch keine Beispiele die mir weiterhelfen könnten.
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.
    Mach mal ein signifikantes Beispiel für den Text und die dazugehörigen Tags.
    Ansonsten splittest Du den Text an allen Trennzeichen (" ", ",", ";", "." usw.), sortierst die Liste, schmeißt Dubletten raus und vergleichst dann jedes Wort mit Deiner Nicht-Liste.
    Das geht über einen einfachen LINQ-Befehl, allerdings weiß ich nicht, ob der in 2008 schon drin ist.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich könnte das auch mit VB 2010 machen das ist kein thema ;)

    Kannst du mir ein beispiel mit LINQ machen?
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.
    Hey,

    ich hatte schon so etwas in der Art gemacht. Hier hast mal den Code.

    VB.NET-Quellcode

    1. Public Class TagGenerator
    2. Public _listNonTagWords As New List(Of String)
    3. Public _listSplitString As New List(Of String)
    4. Public Sub New()
    5. FillNonTagWords()
    6. FillSplitStrings()
    7. End Sub
    8. Public Function GenerateTags(stringToGenerateFrom As String) As List(Of String)
    9. Dim parts() As String = stringToGenerateFrom.Split(_listSplitString.ToArray(), StringSplitOptions.RemoveEmptyEntries)
    10. Dim result = (From s As String In parts Where Not _listNonTagWords.Contains(s.ToLower()) Select s Distinct).ToList
    11. Return result
    12. End Function
    13. Public Function GetTagString(stringToGenerateFrom As String) As String
    14. Return String.Join(", ", GenerateTags(stringToGenerateFrom))
    15. End Function
    16. Private Sub FillNonTagWords()
    17. _listNonTagWords.AddRange({"und", "oder", "der", "die", "das", "warum", "weshalb", _
    18. "ein", "eine", "einer", "so", "es", "eines", "dir", "mir", _
    19. "uns", "wie", "was", "wer", "ist"})
    20. End Sub
    21. Private Sub FillSplitStrings()
    22. _listSplitString.AddRange({",", " ", ";", ".", ":", "-", "!", """", "?"})
    23. End Sub
    24. End Class


    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    3. Dim gen As New TagGenerator()
    4. TextBox1.Text = gen.GetTagString("huhu, das ist ein schöner warmer Tag heute. Wie geht es Dir denn so?")
    5. End Sub
    6. End Class


    Musst eben noch die ausgeschlossenen Wörter vervollständigen und evtl. noch weitere Zeichen einfügen, an denen getrennt werden soll... Ist auch das Beispiel mit LINQ drin. Vielleicht hilfts Dir ja...
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Sieh Dir mal dies an:

    VB.NET-Quellcode

    1. Dim l1() = {1, 2, 3, 4, 5}
    2. Dim l2() = {4, 5, 6, 7, 8}
    3. Dim xx = l1.Concat(l2)
    4. Dim yy = l1.Except(l2)
    5. Dim zz = l1.Intersect(l2)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!