Mam ciągów, które mają katalog w następującym formacie:Get zawartość po ostatnim ukośniku
C: // cześć // world
Jak wyodrębnić wszystko po ostatnim znaku/(świat)?
Mam ciągów, które mają katalog w następującym formacie:Get zawartość po ostatnim ukośniku
C: // cześć // world
Jak wyodrębnić wszystko po ostatnim znaku/(świat)?
string path = "C://hello//world";
int pos = path.LastIndexOf("/") + 1;
Console.WriteLine(path.Substring(pos, path.Length - pos)); // prints "world"
Sposób LastIndexOf
wykonuje takie same jak IndexOf
.. ale od końca łańcucha.
Proponuję, patrząc na przestrzeń nazw System.IO
, ponieważ wydaje się, że możesz z niej skorzystać. Istnieje również DirectoryInfo i FileInfo, które mogą być przydatne również tutaj. Konkretnie DirectoryInfo's Name property
var directoryName = new DirectoryInfo(path).Name;
Jest statyczna klasa do pracy ze ścieżkami zwanych Path
.
Możesz uzyskać pełną nazwę pliku za pomocą Path.GetFileName
.
lub
można uzyskać nazwę pliku bez rozszerzenia z Path.GetFileNameWithoutExtension
.
using System.Linq;
var s = "C://hello//world";
var last = s.Split('/').Last();
Spróbuj tego:
string worldWithPath = "C://hello//world";
string world = worldWithPath.Substring(worldWithPath.LastIndexOf("/") + 1);
myślałem o tym, ale zauważ, że PO wydaje się nie być skupienie się na pliku, ale katalogiem –