문제

캐리지 리턴 문자를 어떻게 제거합니까? (\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());

그것은 다른 Newline 및 Carriage-Return 캐릭터를 설명합니다.

String temp = s.replace("\r\n","").trim();

s 원래 문자열입니다.

s.TrimEnd();

위는 문자열 끝에서 ' r n'을 제거하는 데 필요한 전부입니다.

반대 대답은 나에게 잘못된 것 같습니다. 첫째, 내가 시도했을 때 작동하지 않았다. 어느 하나 A ' r'또는 a ' n', 그래서 나는 ' n'이 끝났을 때, ' r'이 끝났을 때 두 번째로 내 문자열 위로 두 번 실행해야합니다. (이제 ' n'이 제거되었습니다).

항상 단일 CRLF가 있다면 :

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

그렇다면 그것을 가질 수 있거나 없을 수도 있습니다.

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

이 두 가지 (디자인 별)는 최대 단일 CRLF를 제거합니다. 성능을 위해 Regex를 캐시하십시오.

우리를 위해 vbers :

TrimEnd(New Char() {ControlChars.Cr, ControlChars.Lf})
string k = "This is my\r\nugly string. I want\r\nto change this. Please \r\n help!";
k = System.Text.RegularExpressions.Regex.Replace(k, @"\r\n+", " ");

이것은 너무 쉬웠습니다. 저에게는 특정 이메일 항목을 필터링하고 있습니다. 내 자신의 맞춤형 이메일 정크 필터를 작성하고 있습니다. 문자열에 r 및/또는 n을 사용하면 필터링 대신 모든 항목을 닦아 냈습니다.

그래서 방금 필터 = filter.remove ( ' n')와 필터 = 필터 .remove ( ' r')를 만들었습니다. 최종 사용자가 메모장을 사용하여 파일을 직접 편집 할 수 있도록 필터를 만들고 있으므로 이러한 문자가 어디에 임베드 될 수 있는지 알 수 없습니다. 문자열의 시작 또는 끝에있을 수 있습니다. 그래서 그들 모두를 제거하면 그것을합니다.

다른 항목은 모두 작동하지만 제거는 가장 쉬운가요?

나는이 게시물에서 Regex에 대해 꽤 많이 배웠습니다. 여기에서 사용하는 멋진 작업.

나는 많은 지우기 레벨을 사용합니다

String donen = "lots of stupid whitespaces and new lines and others..."

//Remove multilines
donen = Regex.Replace(donen, @"^\s+$[\r\n]*", "", RegexOptions.Multiline);
//remove multi whitespaces
RegexOptions options = RegexOptions.None;
Regex regex = new Regex("[ ]{2,}", options);
donen = regex.Replace(donen, " ");
//remove tabs
char tab = '\u0009';
donen = donen.Replace(tab.ToString(), "");
//remove endoffile newlines
donen = donen.TrimEnd('\r', '\n');
//to be sure erase new lines again from another perspective
donen.Replace(Environment.NewLine, "");

그리고 지금 우리는 깨끗한 한 줄을 가지고 있습니다

varName.replace(/[\r\n]/mg, '')                                              
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top