Frage

In .NET gibt es eine Funktion, wenn ein String-Tests ist syntaktisch korrekter Pfad? Ich will nicht, dass es speziell zu testen, ob der Weg tatsächlich vorhanden ist.

meine derzeitige Meinung dazu ist ein regulärer Ausdruck:

([a-zA-Z]:|\\)?\\?([^/\\:*?"<>|]+[/\\])*[^/\\:*?"<>|]*

Treffer:

c:\
bbbb
\\bob/john\
..\..\

verwirft:

xy:
c:\\bob
War es hilfreich?

Lösung

Ich würde vorschlagen, nur einen regulären Ausdruck dafür verwenden, da Sie speziell nicht wollen, zu testen, ob der Pfad vorhanden ist.

Hier ist etwas google half mir raben:

RegEx="^([a-zA-Z]\:|\\\\[^\/\\:*?"<>|]+\\[^\/\\:*?"<>|]+)(\\[^\/\\:*?"<>|]+)+(\.[^\/\\:*?"<>|]+)$"

Sie können kombinieren diese mit System.IO.Path.GetInvalidPathChars () -Methode und machen die Regex dynamisch alle der ungültigen Zeichen auszuschließen.

Andere Tipps

Ich glaube, System.IO.Path.GetFullPath (Pfad) wird eine Ausnahme werfen, wenn es ohne zu überprüfen, keine syntaktisch korrekten Pfad ist, wenn es vorhanden ist.

Das könnte Sie können System.IO.Path und die GetInvalidPathChars () Funktion benutzen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top