Gestion des caractères invalides dans les chemins et noms de fichiers
Cet article aborde le défi de la suppression ou du remplacement fiable des caractères non valides dans les chemins et noms de fichiers. Une solution précédemment suggérée utilisant la méthode Trim
s'est avérée insuffisante. La clé est de manipuler activement la chaîne pour obtenir le résultat souhaité.
Méthode 1 : Supprimer les caractères invalides
Une approche simple consiste à diviser la chaîne en chaque caractère invalide, puis à concaténer les parties restantes :
<code class="language-csharp">public string RemoveInvalidChars(string filename) { return string.Concat(filename.Split(Path.GetInvalidFileNameChars())); }</code>
Cette méthode élimine efficacement tout caractère identifié comme invalide par Path.GetInvalidFileNameChars()
.
Méthode 2 : Remplacement des caractères invalides
Pour les scénarios où la préservation de la structure de chaîne d'origine est importante, il est préférable de remplacer les caractères invalides par un substitut approprié (par exemple, un trait de soulignement) :
<code class="language-csharp">public string ReplaceInvalidChars(string filename) { return string.Join("_", filename.Split(Path.GetInvalidFileNameChars())); }</code>
Cette approche divise la chaîne en caractères non valides et rejoint les segments en utilisant le trait de soulignement en remplacement, garantissant ainsi que le nom ou le chemin global du fichier reste en grande partie intact. Ceci est particulièrement utile lorsqu'il s'agit de noms de fichiers fournis par l'utilisateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!