[C#] 문자열의 마지막 문자 제거 (TrimEnd, Substring)

씨샵(C#)에서 문자열의 마지막 문자를 제거할 때는 TrimEnd 메서드를 사용하는 것이 편리하다. 문자열의 마지막 엔터(\r\n) 또는 구분자 쉼표(,)를 쉽게 제거할 수 있다. 그러나 문자열의 마지막에 동일한 문자가 반복될 경우 반복 문자에서 하나의 문자만 제거하고 싶을 때는 Substring 메서드를 활용해야 한다.

 

C# 문자열 마지막 문자 제거

목차
  1. TrimEnd 메서드를 사용하여 마지막 문자 제거
  2. Substring 메서드를 사용하여 마지막 문자 제거

 

TrimEnd 메서드를 사용하여 마지막 문자 제거

문자열의 마지막 엔터(\r\n) 제거

string str = "Hello, World" + "\r\n";

str = str.TrimEnd('\r', '\n');

 

문자열에서 마지막 문자를 제거할 때는 TrimEnd 메서드를 사용하면 쉽게 해결된다. 제거할 문자를 배열로 입력하면 되며, 배열의 문자가 문자열의 마지막에서 모두 제거될 때까지 수행된다. (입력된 문자의 순서는 상관없음)

 

윈도우의 엔터는 "\r\n"이며 리눅스에서의 엔터는 "\n"이다. 두 개의 값을 입력해 놓으면 모든 엔터 값이 제거된다.

 

문자열의 마지막 쉼표(,) 제거

string str = "Hello, World,";

str = str.TrimEnd(',');

 

하나의 문자를 제거할 때는 하나의 문자만 입력하면 된다.

 

문자열의 마지막 쉼표 + 공백 제거

string str = "Hello, World, ";

str = str.TrimEnd(',', ' ');

 

문자열의 마지막 쉼표가 공백을 제거하고 싶다면, 쉼표와 공백을 입력하면 된다.

 

TrimEnd 사용 시 주의사항

string str = "Hello, World!!!";

str = str.TrimEnd('!');

// 결과: Hello, World

 

TrimEnd 메서드를 사용하여 마지막 문자를 제거할 경우 배열로 입력된 문자가 문자열의 마지막에 모두 제거될 때까지 횟수에 상관없이 반복하여 제거하므로, 연속된 문자인 경우 모두 제거된다.

 

문자열의 마지막 문자 하나만 제거하고 싶다면 아래의 Substring 메서드를 활용하면 된다.

 

Substring 메서드를 사용하여 마지막 문자 제거

문자열의 마지막 쉼표(,) 제거

string str = "Hello, World,";

str = str.Substring(0, str.Length - 1);

 

Substring 메서드를 사용하여 마지막 문자를 제거할 경우, 해당 문자가 존재하지 않아도 문자열의 마지막 문자 1개를 제거하므로 주의해야 한다. 해당 문자가 존재하지 않을 경우가 있다면 아래 if 문으로 분기하는 코드를 추가해야 한다.

 

문자열의 마지막 쉼표, 공백 제거

string str = "Hello, World, ";

str = str.Substring(0, str.Length - 2);

 

제거해야 할 문자가 2자인 경우 문자의 길이만 큰 빼주면 된다.

 

마지막 문자가 존재할 경우만 제거

string str = "Hello, World, ";

if (str.EndsWith(", "))
{
    str = str.Substring(0, str.Length - 2);
}

 

Substring 메서드로 마지막 문자를 제거할 경우,

해당 문자가 존재하는지 if 문으로 한 번 체크하고 문자를 제거하는 방법이 안전하다.

 

 

[C#] 문자열 자르기 방법 (Substring, Split)

씨샵(C#)에서 문자열을 자를 때는 Substring 메서드를 사용한다. Substring 메서드를 사용하면 특정 위치부터 원하는 길이만큼 문자열을 자를 수 있으며, IndexOf 메서드를 같이 사용하며 특정 문자 이후

gent.tistory.com

 

댓글

Designed by JB FACTORY