Maison > développement back-end > C++ > Comment puis-je extraire le nom du dernier dossier d'un chemin de fichier en C# ?

Comment puis-je extraire le nom du dernier dossier d'un chemin de fichier en C# ?

Susan Sarandon
Libérer: 2024-12-30 01:06:17
original
467 Les gens l'ont consulté

How Can I Extract the Last Folder Name from a File Path in C#?

Extraire le nom du dossier à partir d'un chemin de fichier complet

Déterminer le nom du dossier à partir d'un chemin de nom de fichier complet est une tâche courante lorsque vous travaillez avec des systèmes de fichiers. Étant donné un chemin du type "C:folder1folder2file.txt", l'objectif est de récupérer le nom du dossier "folder2".

Pour y parvenir, le langage de programmation C# propose plusieurs méthodes :

Utilisation de Path.GetDirectoryName() et Path.GetFileName() :

Cette approche utilise une combinaison de Path.GetDirectoryName() et Path.GetFileName(). La première récupère le chemin complet à l'exception du nom du fichier, tandis que la seconde extrait uniquement le nom du fichier.

string path = "C:/folder1/folder2/file.txt";
string lastFolderName = Path.GetFileName( Path.GetDirectoryName( path ) );
Copier après la connexion

Cette méthode obtient avec précision le nom du dossier, que le chemin existe ou non. Cependant, il suppose que le chemin se termine par un nom de fichier ; si le chemin se termine par un nom de dossier, des vérifications supplémentaires sont nécessaires.

Utilisation de DirectoryInfo :

La classe DirectoryInfo fournit un autre moyen d'extraire le nom du dossier.

string path = "C:/folder1/folder2/file.txt";
DirectoryInfo directoryInfo = new DirectoryInfo(path);
string folderName = directoryInfo.Name;
Copier après la connexion

Cette approche est plus polyvalente car elle gère à la fois les fichiers et les dossiers, mais elle nécessite que le chemin représente un fichier existant. emplacement.

Utilisation de Regex :

Des expressions régulières peuvent également être utilisées pour capturer le nom du dossier.

string path = "C:/folder1/folder2/file.txt";
Regex regex = new Regex(@"(.*)\(.+)$");
Match match = regex.Match(path);
string folderName = match.Groups[2].Value;
Copier après la connexion

Cette méthode fonctionne bien avec divers formats de chemin mais introduit une dépendance et une complexité supplémentaires.

La sélection de la méthode la plus appropriée dépend des exigences spécifiques de l'application, en tenant compte de facteurs tels que flexibilité, performances et fonctionnalités existantes.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal