[C#] C #의 문자열에서 마지막 네 문자를 어떻게 얻습니까?

문자열이 있다고 가정하십시오.

"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)은 분명히 가장 깨끗한 솔루션이지만 조금 더 많은 작업이 필요합니다.