Как я могу разделить последний экземпляр символа в строке C #? - PullRequest
0 голосов
/ 16 ноября 2011

У меня есть строка, которая выглядит следующим образом

/root/test/test2/tesstset-werew-1

И я хочу разобрать слово после последнего /. Итак, в этом примере я хочу взять слово tesstset-werew-1. Каков наилучший способ сделать это в C #? Стоит ли разбивать строку на массив или есть встроенная функция для этого?

Ответы [ 5 ]

3 голосов
/ 16 ноября 2011

Если это путь, который, как кажется, имеет место в вашем примере, вы можете использовать Path.GetFileName():

string fileName = Path.GetFileName("/root/test/test2/tesstset-werew-1");
3 голосов
/ 16 ноября 2011

Метод Split ()

string mystring = "/root/test/test2/tesstset-werew-1";

var mysplitstring = mystring.split("/");

string lastword = mysplitstring[mysplitstring.length - 1];
1 голос
/ 16 ноября 2011
yourString.Substring(yourString.LastIndexOf('/') + 1);
1 голос
/ 16 ноября 2011

Разделение на массив, вероятно, самый простой способ сделать это.Другой будет regex

что-то вроде этого будет работать:

string[] segments = yourString.Split('/');
try
{
  lastSegment = segments[segments.length - 1];
}
catch (IndexOutOfRangeException)
{
    Console.WriteLine("Your original string does not have slashes");
}

Вы хотите поставить проверку, что сегменты [] имеют элементы перед вторым оператором.

0 голосов
/ 16 ноября 2011

Вы можете запустить цикл for в обратном порядке до знака /.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...