[c#] C #의 문자열 끝에서 캐리지 리턴 및 줄 바꾸기 제거

문자열 끝에서 캐리지 리턴 문자 (\r)와 줄 바꾸기 문자를 제거하려면 어떻게합니까 (\n)?



답변

이것은의 끝에서 캐리지 리턴과 개행의 조합을 제거합니다 s.

s = s.TrimEnd(new char[] { '\r', '\n' });

편집 : 또는 JP가 친절하게 지적했듯이 더 간결하게 철자를 다음과 같이 지정할 수 있습니다.

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


답변

이것은 작동합니다 …

var tst = "12345\n\n\r\n\r\r";
var res = tst.TrimEnd( '\r', '\n' );


답변

여러 플랫폼을 사용하는 경우이 방법을 사용하는 것이 더 안전합니다.

value.TrimEnd(System.Environment.NewLine.ToCharArray());

다른 줄 바꿈 및 캐리지 리턴 문자를 설명합니다.


답변

String temp = s.Replace("\r\n","").Trim();

s원래 문자열입니다. (대문자 참고)


답변

s.TrimEnd();

위의 내용은 문자열 끝에서 ‘\ r \ n’을 제거하는 데 필요한 전부입니다.

upvoted 답변이 잘못된 것 같습니다. 첫째, 내가이 일을했다면 나는 s.TrimEnd ( ‘\ r은’, ‘\ n’을 참조)은 제거 것으로 예상, 둘째, 시도 할 때 작동하지 않았다 중 하나 는 ‘\ R’또는 ‘\ n’을 , 그래서 나는 그것을 두 번 실행해야 할 것입니다-한 번은 ‘\ n’이 끝났을 때, 두 번째는 ‘\ r’이 끝났을 때 (이제 ‘\ n’가 제거되었습니다) .


답변

항상 단일 CRLF가있는 경우 :

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

있을 수도 있고 없을 수도있는 경우 :

Regex re = new Regex("\r\n$");
re.Replace(myString, "");

이 두 가지 모두 (설계 상) 최대 단일 CRLF를 제거합니다. 성능을 위해 정규식을 캐시하십시오.


답변

우리 VBers :

TrimEnd(New Char() {ControlChars.Cr, ControlChars.Lf})