从C#中的路径获取basedir和文件名



有没有简单的方法来隔离C#中路径的最后两个元素(basedir+filename(,或者我需要制作一些复杂的字符串regex?我在网上找到的所有例子都显示了隔离文件名,或者完整路径减去文件名。

输入示例:

string1 = C:direxample1test.txt
string2 = C:direxample2anotherdirexamplefile.ext
string3 = /mnt/media/hdd/test/1/2/3/4/dir/file

预期输出:

string1cut = 1test.txt
string2cut = examplefile.ext
string3cut = dir/file

您可以这样做:

string path = @"C:direxample1test.txt";
string path2 = @"/mnt/media/hdd/test/1/2/3/4/dir/file";
string lastFolderName = 
Path.GetFileName(Path.GetDirectoryName(path));
string fileName =  Path.GetFileName(path);
string envPathChar = path.Contains("/") ? "/" : @"";
string string1Cut = @$"{lastFolderName}{envPathChar}{fileName}";

输出:1test.txt

路径2输出:dir/file