513 votes

Comment faire pour supprimer des caractères illégaux de chemin d’accès et les noms de fichiers ?

J’ai besoin d’un moyen simple et robuste à supprimer chemin illégal et fichier d’une chaîne simple. J’ai utilisé le code ci-dessous, mais il ne semble pas faire n’importe quoi, ce que je suis absent ?

531voto

Matthew Scharley Points 43262

Essayez quelque chose comme ça au lieu de cela ;

Mais je suis d’accord avec les commentaires, je probablement essayer de traiter à la source des chemins d’accès illégales, plutôt que de tenter de mangle un chemin d’accès illégal à un légitime mais probablement involontaire.

Edit : Ou une solution potentiellement « mieux », à l’aide de Regex.

La question soulève encore, à se poser, pourquoi vous faites cela en premier lieu.

439voto

Shehab Fawzy Points 227
<pre><code></code><p>Cette réponse était sur un autre thread de Ceres, je l’aime vraiment simple et soignée.</p></pre>

215voto

Michael Minton Points 2107

J’ai utiliser Linq pour nettoyer les noms de fichiers. Vous pouvez facilement étendre cela pour vérifier les chemins d’accès valides ainsi.

92voto

Gregor S. Points 1867

Vous pouvez supprimer des caractères illégaux utilisant Linq comme ceci :

18voto

user7116 Points 39829

Pour commencer, Garniture seulement supprime les caractères à partir du début ou de la fin de la chaîne. Deuxièmement, vous devez évaluer si vous voulez vraiment supprimer l'offensive des personnages, ou échouer rapidement et de laisser l'utilisateur de savoir leur nom de fichier est invalide. Mon choix est le dernier, mais ma réponse devrait au moins vous montrer comment faire les choses de la bonne ET de la mauvaise manière:

StackOverflow question en montrant comment vérifier si une chaîne est un nom de fichier valide. Remarque vous pouvez utiliser la regex de cette question de supprimer des caractères avec une expression régulière de remplacement (si vous en avez vraiment besoin de faire cela).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X