Laden...

String filtern

Erstellt von firefighter99 vor 19 Jahren Letzter Beitrag vor 19 Jahren 1.954 Views
F
firefighter99 Themenstarter:in
10 Beiträge seit 2004
vor 19 Jahren
String filtern

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 🤔

L
667 Beiträge seit 2004
vor 19 Jahren

mydir = mypath.Substring(0, mypath.LastIndexOf(@""));

"It is not wise to be wise" - Sun Tzu

L
667 Beiträge seit 2004
vor 19 Jahren

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

F
firefighter99 Themenstarter:in
10 Beiträge seit 2004
vor 19 Jahren

Danke Dir!

mydir = mypath.Substring(mypath.LastIndexOf(@"\")+1);

...ist perfekt 🙂 👍

502 Beiträge seit 2004
vor 19 Jahren

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...

1.373 Beiträge seit 2004
vor 19 Jahren

Noch einfacher:


string mypath= Path.GetFileName(mypath);

MfG VizOne