Ich muss den letzten Teil des aktuellen Verzeichnisses abrufen, zum Beispiel von /Users/smcho/filegen_from_directory/AIRPassthrough
, den ich abrufen muss AIRPassthrough
.
Mit Python kann ich es mit diesem Code bekommen.
import os.path
path = "/Users/smcho/filegen_from_directory/AIRPassthrough"
print os.path.split(path)[-1]
Oder
print os.path.basename(path)
Wie kann ich dasselbe mit C # machen?
HINZUGEFÜGT
Mit Hilfe der Antwortenden fand ich, was ich brauchte.
using System.Linq;
string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar);
string projectName = fullPath.Split(Path.DirectorySeparatorChar).Last();
oder
string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar);
string projectName = Path.GetFileName(fullPath);
os.path.basename(path)
.Antworten:
Du suchst
Path.GetFileName
.Beachten Sie, dass dies nicht funktioniert, wenn der Pfad mit a endet
\
.quelle
Path.GetFileName("/Users/smcho/filegen_from_directory/AIRPassthrough")
in LINQPad ein, wenn Sie mir nicht glauben.Path
Klasse behandelt beide Trennzeichen.Du könntest es versuchen:
quelle
Nun, um genau Ihre Frage Titel zu beantworten :-)
quelle
Dies ist eine etwas andere Antwort, je nachdem, was Sie haben. Wenn Sie eine Liste von Dateien haben und den Namen des letzten Verzeichnisses abrufen müssen, in dem sich die Datei befindet, können Sie Folgendes tun:
Dies gibt "2938_parentid" zurück.
quelle
Verwenden Sie stattdessen das '/', damit der Aufruf aufgeteilt wird. Verwenden Sie besser das
Path.DirectorySeparatorChar
:wie so:
quelle
Dies funktioniert, wenn der Pfad zufällig Schrägstriche oder Schrägstriche enthält.
quelle
.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar)
funktioniert also auch.Versuche dies:
Der Code ist möglicherweise deaktiviert (ich habe ihn nicht getestet), aber die Idee sollte funktionieren
quelle
Das funktioniert bei mir einwandfrei :)
quelle
Sie können den folgenden Code ausprobieren:
Path.GetFileName(userpath)
quelle
Sie können auch die Uri-Klasse verwenden.
Sie können diese Klasse bevorzugen, wenn Sie ein anderes Segment abrufen möchten oder wenn Sie dasselbe mit einer Webadresse tun möchten.
quelle