Hallo Community,
ich habe wahrscheinlich eine totale Newbie Frage für Euch, aber dafür hab ich hoffenltich auch schnell eine richtige Antwort 🙂
Folgendes:
Ich habe einen String, der mir den Pfad eines Ordners zurückgibt.
Alles was ich möchte ist den Ordnernamen herausfiltern...z.b. aus c:\dir1\dir2\dir3 -> dir3
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
mypath = folderBrowserDialog.SelectedPath; // gibt genauen Pfad zurück
mydir = ???
}
Danke Euch 🤔
mydir = mypath.Substring(0, mypath.LastIndexOf(@""));
"It is not wise to be wise" - Sun Tzu
Achso, ich seh grad, Du willst nur den letzten Ordner haben.
Ok, dann eben so :
mydir = mypath.Substring(mypath.LastIndexOf(@"\"));
"It is not wise to be wise" - Sun Tzu
Danke Dir!
mydir = mypath.Substring(mypath.LastIndexOf(@"\")+1);
...ist perfekt 🙂 👍
Also ich persönlich würde das ein wenig anders lösen...
mydir = (new System.IO.DirectoryInfo(mypath)).Name;
Das ist zwar etwas langsamer, weil erst ein DirectoryInfo-Objekt erzeugt wird, aber es hat einen entscheidenden Vorteil: Es klappt immer - will sagen z.B. auch unter Mono/Linux, weil Du nicht "hart" nach \ suchst. Wenn schon über die Substring-Methode, dann würde ich wenigstens System.IO.Path.DirectorySeparatorChar als Suchkriterium verwenden.
Bart Simpson
Praxis ist wenn alles funktioniert und keiner weiss warum.
Theorie ist wenn man alles weiss, aber nichts funktioniert.
Bei uns wird Theorie und Praxis vereint: Nichts funktioniert und keiner weiss warum...
Noch einfacher:
string mypath= Path.GetFileName(mypath);
MfG VizOne