문자열이 있다고 가정하십시오.
"34234234d124"
이 문자열의 마지막 네 문자 인을 얻고 싶습니다 "d124"
. 사용할 수 있습니다SubString
있지만 변수 이름 지정을 포함하여 몇 줄의 코드가 필요합니다.
이 결과를 C #으로 하나의 표현식으로 얻을 수 있습니까?
답변
mystring.Substring(Math.Max(0, mystring.Length - 4)); //how many lines is this?
문자열의 길이가 4 이상인 경우 더 짧습니다.
mystring.Substring(mystring.Length - 4);
답변
확장 방법을 사용할 수 있습니다 :
public static class StringExtension
{
public static string GetLast(this string source, int tail_length)
{
if(tail_length >= source.Length)
return source;
return source.Substring(source.Length - tail_length);
}
}
그런 다음 전화하십시오.
string mystring = "34234234d124";
string res = mystring.GetLast(4);
답변
당신이해야 할 일은 ..
String result = mystring.Substring(mystring.Length - 4);
답변
좋아, 이것이 오래된 게시물 인 것을 보았지만 프레임 워크에 이미 제공된 코드를 다시 작성하는 이유는 무엇입니까?
프레임 워크 DLL “Microsoft.VisualBasic”에 대한 참조를 추가하는 것이 좋습니다.
using Microsoft.VisualBasic;
//...
string value = Strings.Right("34234234d124", 4);
답변
string mystring = "34234234d124";
mystring = mystring.Substring(mystring.Length-4)
답변
서브 스트링 사용 은 실제로 매우 짧고 읽기 쉽습니다.
var result = mystring.Substring(mystring.Length - Math.Min(4, mystring.Length));
// result == "d124"
답변
지연된 실행으로 인해 너무 나쁘게 수행해서는 안되는 또 다른 대안은 다음과 같습니다 .
new string(mystring.Reverse().Take(4).Reverse().ToArray());
목적을위한 확장 방법 mystring.Last(4)
은 분명히 가장 깨끗한 솔루션이지만 조금 더 많은 작업이 필요합니다.