8 ответов:
вы можете получить позицию последнего
-Сstr.LastIndexOf('-'). Так что следующий шаг очевиден:var result = str.Substring(str.LastIndexOf('-') + 1);коррекция:
как Брайан заявляет ниже, использование этого в строке без тире приведет к возвращению той же строки.
вы можете использовать LINQ, и сохранить себе явный разбор:
string test = "9586-202-10072"; string lastFragment = test.Split('-').Last(); Console.WriteLine(lastFragment);
Я вижу этот пост был просмотрен более 46 000 раз. Я бы поспорил, что многие из 46 000 зрителей задают этот вопрос просто потому, что они просто хотят имя файла... и эти ответы могут быть кроличьей норой, если вы не можете сделать свою подстроку дословно, используя знак at.
Если вы просто хотите получить имя файла, то есть простой ответ, который следует упомянуть здесь. Даже если это не точный ответ на вопрос.
result = Path.GetFileName(fileName);посмотреть https://msdn.microsoft.com/en-us/library/system.io.path.getfilename(v=vs. 110).aspx
посмотреть строку.lastIndexOf метод
string atest = "9586-202-10072"; int indexOfHyphen = atest.LastIndexOf("-"); if (indexOfHyphen >= 0) { string contentAfterLastHyphen = atest.Substring(indexOfHyphen + 1); Console.WriteLine(contentAfterLastHyphen ); }
Comments