[C#] 문자열에서 마지막 문자 다듬기

나는 문자열을 말한다

"Hello! world!" 

트림을 제거하거나 제거하고 싶습니다! 세상에서 벗어 났지만 안돼



답변

"Hello! world!".TrimEnd('!');

더 읽어보기

편집하다:

이 유형의 질문에서 내가 주목 한 것은 주어진 문자열의 마지막 문자를 제거하는 것이 좋습니다. 그러나 이것은 트림 방법의 정의를 충족시키지 못합니다.

트림-이 인스턴스의 시작과 끝에서 모든 공백 문자를 제거합니다.

MSDN- 트림

이 정의에서 문자열에서 마지막 문자 만 제거하는 것은 나쁜 해결책입니다.

“문자열에서 마지막 문자 다듬기”를 원하면 다음과 같이해야합니다.

확장 방법의 예 :

public static class MyExtensions
{
  public static string TrimLastCharacter(this String str)
  {
     if(String.IsNullOrEmpty(str)){
        return str;
     } else {
        return str.TrimEnd(str[str.Length - 1]);
     }
  }
}

참고 동일한 값, 즉 모든 문자를 제거 (!!)를 제거의 모든 실존 위의 방법을 원하는 경우 ‘!’ 문자열의 끝에서 마지막 문자 만 제거하려면 다음을 사용해야합니다.

else { return str.Remove(str.Length - 1); }


답변

String withoutLast = yourString.Substring(0,(yourString.Length - 1));


답변

if (yourString.Length > 1)
    withoutLast = yourString.Substring(0, yourString.Length - 1);

또는

if (yourString.Length > 1)
    withoutLast = yourString.TrimEnd().Substring(0, yourString.Length - 1);

… 공백이 아닌 문자를 끝에서 제거하려는 경우.


답변

        string s1 = "Hello! world!";
        string s2 = s1.Trim('!');


답변

이 시도:

return( (str).Remove(str.Length-1) );


답변

string helloOriginal = "Hello! World!";
string newString = helloOriginal.Substring(0,helloOriginal.LastIndexOf('!'));


답변

문자열에서 마지막 문자 를 트리밍하는 또 다른 예 :

string outputText = inputText.Remove(inputText.Length - 1, 1);

확장 메서드에 넣고 null 문자열 등을 방지 할 수 있습니다.