문자열의 시작 또는 끝에서 모든 공백을 제거하는 방법은 무엇입니까?


208

문자열의 시작과 끝에서 공백을 어떻게 제거합니까?

이렇게 :

"hello"리턴 "hello"
"hello "리턴 "hello"
" hello "리턴 "hello"
" hello world "리턴"hello world"

답변:


445

String.Trim()모든 공백 이 시작 끝 에서 잘린 입력 문자열과 동일한 문자열을 반환합니다 .

"   A String   ".Trim() -> "A String"

String.TrimStart() 시작 부분에서 공백이 잘린 문자열을 반환합니다.

"   A String   ".TrimStart() -> "A String   "

String.TrimEnd() 끝에서 공백이 잘린 문자열을 반환합니다.

"   A String   ".TrimEnd() -> "   A String"

어떤 메소드도 원래 문자열 객체를 수정하지 않습니다.

(적어도 일부 구현에서는 트리밍 할 공백이 없으면 시작한 것과 동일한 문자열 객체를 다시 얻습니다.

csharp> string a = "a"; csharp> string trimmed = a.Trim(); csharp> (object) a == (object) trimmed; returns true

이것이 언어에 의해 보장되는지 모르겠습니다.)


1
공백의 MS 정의는 ⁺¹입니다. 공백이 아닌 문자의.TrimEnd() 경우 작동하지 않는 이상한 동작을 만났지만 결국 문서에 나열되지 않은 문자입니다.
Hi-Angel

2
줄을 다듬는 방법은 여러 가지가 있으며, 벤치마킹 된 방법이 많이 있습니다 . 아직도, 나는 .Trim ()이 가장 빠르고 읽기 쉬운 것으로 좋아합니다.

아마도 이것을 아는 것이 유용 할 것입니다 : TextArea와 같이 여러 줄을 가진 경우. 그리고 당신은 Enter 키를 누르면 다음과 같은 것을 얻습니다 : " A String \r\n " .Trim()이것을 공백으로 인식합니다.
내쉬 잉어

@NashCarp : \ r과 \ n도 공백 문자
huha

20

Trim()호출 된 문자열의 시작과 끝에서 공백이 제거 된 새 문자열을 반환하는 것을 살펴보십시오 .


17
string a = "   Hello   ";
string trimmed = a.Trim();

trimmed 지금 "Hello"


13

String.Trim()기능을 사용하십시오 .

string foo = "   hello ";
string bar = foo.Trim();

Console.WriteLine(bar); // writes "hello"


8

String.Trim()문자열의 시작과 끝에서 모든 공백을 제거합니다. 문자열 내부의 공백을 제거하거나 공백을 정규화하려면 정규식을 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.