auf ungültige Zeichen testen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Dodo.

    auf ungültige Zeichen testen


    Hallo VB Freunde

    Mochte gerne ein Dateiname auf ungültige Zeichen testen.

    Gib es da für eine einfache Möglichkeit mit Ausgabe der ungültige Zeichen?

    Danke für die Antwort!
    Hey,

    es gibt eine Methode:

    VB.NET-Quellcode

    1. IO.Path.GetInvalidFileNameChars ' für Dateinamen
    2. IO.Path.GetInvalidPathChars ' für Pfade

    Allerdings ist bei dieser Methode nicht immer gewährleistet, dass das Array alle ungültigen Zeichen als Menge enthält. In der msdn steht dazu folgendes:
    Es ist nicht gewährleistet, dass das von dieser Methode zurückgegebene Array die vollständige Menge der in Datei- und Verzeichnisnamen ungültigen Zeichen enthält. Die vollständige Menge ungültiger Zeichen kann von Dateisystem zu Dateisystem unterschiedlich sein. Auf Windows-basierten Desktopplattformen können beispielsweise die folgenden Zeichen für Pfadnamen ungültig sein: ASCII/Unicode-Zeichen 1 bis 31, Anführungszeichen ("), Kleiner-als-Zeichen (<), Größer-als-Zeichen (>), der senkrechte Balken (|), Rücktastenzeichen (\b), NULL (\0) und Tabulator (\t).
    Quelle: msdn.microsoft.com/de-de/libra…invalidfilenamechars.aspx

    Ansonsten bleibt dir noch die Möglichkeit, den Dateinamen {String} mit .Contains() manuell zu überprüfen und ggfs. eine Meldung auszugeben. Vorteil dieser Methode ist, dass du sicherstellen kannst, dass alle von dir ungewollten Zeichen nicht vorkommen (dürfen).

    Gruß, Manschula
    Statt Contains würdeich zu Regular Expressions raten. Weil bei Contains musst du ja auch Ungültige Zeichen prüfen, somit musst du erstmal ALLE ungültigen Zeichen irgendwo deklarieren. Einfacher ist sowas auf gültige Zeichen zu prüfen.

    RegEx findest du hier msdn.microsoft.com/en-us/library/twcw2f1c.aspx

    und als Pattern dann z.B. Dim Pattern As String = "([a-zA-Z0-9.]*)"

    Dieser Pattern ist quasie selbst erklärend also Zeichen a bis z sowie A bis Z, 0 bis 9 und Punkt. Das Sternchen heißt es Null bis n Zeichen vorkommen dürfen. Wenn man ein + schreibt muss min 1 Zeichen drin vorkommen.

    Hier alle Formatierungszeichen für RegEx: msdn.microsoft.com/en-us/library/2k3te2cs%28VS.80%29.aspx