J'ai des chaînes qui ont un répertoire au format suivant:
C: // bonjour // monde
Comment puis-je tout extraire après le dernier caractère/(monde)?
string path = "C://hello//world";
int pos = path.LastIndexOf("/") + 1;
Console.WriteLine(path.Substring(pos, path.Length - pos)); // prints "world"
La méthode LastIndexOf
fonctionne de la même manière que IndexOf
.. mais à partir de la fin de la chaîne.
using System.Linq;
var s = "C://hello//world";
var last = s.Split('/').Last();
Il existe une classe statique pour travailler avec des chemins appelée Path
.
Vous pouvez obtenir le nom de fichier complet avec Path.GetFileName
.
ou
Vous pouvez obtenir le nom de fichier sans extension avec Path.GetFileNameWithoutExtension
.
Essaye ça:
string worldWithPath = "C://hello//world";
string world = worldWithPath.Substring(worldWithPath.LastIndexOf("/") + 1);
Je suggère de regarder le System.IO
namespace car il semble que vous souhaitiez peut-être l'utiliser. Il existe également DirectoryInfo et FileInfo qui pourraient être utiles ici. Plus précisément propriété Name de DirectoryInfo
var directoryName = new DirectoryInfo(path).Name;