Eine Blacklist erstellen, wo auch ein teil eines textes überprüft wird

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Naifu.

    Eine Blacklist erstellen, wo auch ein teil eines textes überprüft wird

    Hi freunde :D

    Kurze frage, wie kann ich ein Text abfragen, der sich zwischen einem Text befindet.

    In diesem beispiel frage ich Nutzernamen ab, und vergleiche diese mit Wörter aus einer Datei.
    Wenn jetzt das Wort "Kuchen" auf der Blacklist steht, und sich der Nutzer bspw. "IchMagKuchen" nennt, wird dieser nicht gekickt.
    Wie kann ich das machen das auch ein Wort (Oder Zeichen) Zwischen Verschiedenen Wörtern als Bad name angezeigt wird?
    Sprich:
    Kuchen ist eines der Wörter auf der Blacklist
    "Kuchen" = Bad name
    "IchBinEinKuchen" = Bad name
    "KuchenSindCool" = Bad name
    "xXKuchenXx" = Bad name

    und so das er die Groß und Kleinschreibung Ignoriert.

    Mein code sieht wie folgt aus:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. ​Public Shared Function Check(ByVal Name As String) As Integer
    2. Dim Username As String = Name
    3. Dim BlacklistReader As New System.IO.StreamReader(".\blacklist.txt")
    4. Dim BlacklistLines As String = BlacklistReader.ReadToEnd
    5. BlacklistReader.Close()
    6. Dim Val As Integer
    7. For Each i As String In BlacklistLines.Split(vbCrLf.ToCharArray, StringSplitOptions.RemoveEmptyEntries)
    8. If Username = i Then
    9. If Username = "Survivor" Then
    10. Val = 1
    11. Else
    12. Val = 2
    13. End If
    14. Exit For
    15. End If
    16. Val = 0
    17. Next i
    18. Return Val
    19. End Function[/spoiler][spoiler]
    MfG, Martin

    VB.NET-Quellcode

    1. ​Dim badName As String = "Kuchen"
    2. Dim texte() As String = {"Ein Text ohne Kuchen", "xXKUCHENXx", "Ohne Gebäcke"}
    3. For Each txt As String In texte
    4. If txt.ToLower.Contains(badName.ToLower) Then
    5. MessageBox.Show(txt & "enthält Kuchen")
    6. Else
    7. MessageBox.Show(txt & "enthät keinen Kuchen")
    8. End If
    9. Next