[C#] 문자열에서 마지막 세 문자 제거

문자열에서 마지막 세 문자를 제거하고 싶습니다.

string myString = "abcdxxx"; 

문자열은 동적 데이터입니다.



답변

문자열에서 마지막 3 자 읽기 [초기 질문]

string.Substring 을 사용 하고 시작 색인을 제공하면 주어진 색인에서 끝까지 하위 문자열을 얻을 수 있습니다.

myString.Substring(myString.Length-3)

이 인스턴스에서 하위 문자열을 검색합니다. 하위 문자열은 지정된 문자 위치에서 시작합니다. MSDN

업데이트 된 게시물에 대한 수정

문자열에서 마지막 3 자 제거 [업데이트 된 질문]

문자열에서 마지막 세 문자를 제거하려면 string.Substring (Int32, Int32) 를 사용하고 시작 인덱스 0와 끝 인덱스를 string length보다 3 적게 줄 수 있습니다. 마지막 세 문자 앞의 하위 문자열을 가져옵니다.

myString = myString.Substring(0, myString.Length-3);

String.Substring 메서드 (Int32, Int32)

이 인스턴스에서 하위 문자열을 검색합니다. 하위 문자열은 지정된 문자 위치에서 시작하고 지정된 길이를 갖습니다.

또한 String.Remove (Int32) 메서드를 사용하여 시작 인덱스를 length-3 으로 전달하여 마지막 세 문자를 제거 할 수 있습니다.이 지점에서 문자열 끝까지 제거됩니다.

myString = myString.Remove(myString.Length-3)

String.Remove 메서드 (Int32)

지정된 위치에서 시작하여 마지막 위치까지 계속되는 현재 인스턴스의 모든 문자가 삭제 된 새 문자열을 반환합니다.


답변

myString = myString.Remove(myString.Length - 3, 3);


답변

나는이 모든 것을 읽었지만 조금 더 우아한 것을 원했습니다. 문자열 끝에서 특정 수의 문자를 제거하려면 :

string.Concat("hello".Reverse().Skip(3).Reverse());

산출:

"he"


답변

myString.Remove(myString.Length-3);


답변

string test = "abcdxxx";
test = test.Remove(test.Length - 3);
//output : abcd


답변

String.Remove지정된 위치에서 문자열 끝까지 삭제 하는 데 사용할 수 있습니다 .

myString = myString.Remove(myString.Length - 3);


답변

“동적 데이터”라고 말했기 때문에 정확히 찾고있는 것은 아니지만 예제 문자열이 주어지면 다음과 같이 작동합니다.

? "abcdxxx".TrimEnd('x');
"abc"