Ответ 1
string path = "C://hello//world";
int pos = path.LastIndexOf("/") + 1;
Console.WriteLine(path.Substring(pos, path.Length - pos)); // prints "world"
Метод LastIndexOf
выполняет те же действия, что и IndexOf
.., но из конца строки.
У меня есть строки, которые имеют каталог в следующем формате:
C://привет//Мир
Как я могу извлечь все после последнего/символа (мира)?
string path = "C://hello//world";
int pos = path.LastIndexOf("/") + 1;
Console.WriteLine(path.Substring(pos, path.Length - pos)); // prints "world"
Метод LastIndexOf
выполняет те же действия, что и IndexOf
.., но из конца строки.
Существует статический класс для работы с путями Path
.
Вы можете получить полное имя файла с помощью Path.GetFileName
.
или
Вы можете получить имя файла без расширения с помощью Path.GetFileNameWithoutExtension
.
using System.Linq;
var s = "C://hello//world";
var last = s.Split('/').Last();
Я бы предложил посмотреть пространство имен System.IO
, поскольку кажется, что вы, возможно, захотите его использовать. Здесь также могут использоваться DirectoryInfo и FileInfo. В частности свойство DirectoryInfo Name
var directoryName = new DirectoryInfo(path).Name;
Попробуйте следующее:
string worldWithPath = "C://hello//world";
string world = worldWithPath.Substring(worldWithPath.LastIndexOf("/") + 1);