다음이 있습니다.
string test = "9586-202-10072"
-
10072가되도록 모든 문자를 최종 오른쪽에 가져 오려면 어떻게해야합니까? 문자 수는 항상 마지막 대시의 오른쪽에 다릅니다.
어떻게 할 수 있습니까?
답변
당신은 마지막의 위치를 얻을 수 -
와를 str.LastIndexOf('-')
. 따라서 다음 단계는 분명합니다.
var result = str.Substring(str.LastIndexOf('-') + 1);
수정 :
Brian이 아래에 언급했듯이 대시가없는 문자열에 이것을 사용하면 동일한 문자열이 반환됩니다.
답변
LINQ를 사용하고 명시 적 구문 분석을 절약 할 수 있습니다.
string test = "9586-202-10072";
string lastFragment = test.Split('-').Last();
Console.WriteLine(lastFragment);
답변
string tail = test.Substring(test.LastIndexOf('-') + 1);
답변
YourString.Substring(YourString.LastIndexOf("-"));
답변
이 게시물이 46,000 회 이상 조회 된 것을 알 수 있습니다. 46,000 명의 시청자 중 많은 사람들이 단순히 파일 이름을 원하기 때문에이 질문을하고있을 것입니다 … 그리고 at 기호를 사용하여 부분 문자열을 축 어적으로 만들 수 없다면이 답변은 토끼 구멍이 될 수 있습니다.
단순히 파일 이름을 얻고 싶다면 여기에 언급해야 할 간단한 대답이 있습니다. 질문에 대한 정확한 답이 아니더라도.
result = Path.GetFileName(fileName);
참조 https://msdn.microsoft.com/en-us/library/system.io.path.getfilename(v=vs.110).aspx를
