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 ?
Réponses
Trop de publicités?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.
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).