_content가 NewLine 문자로 끝나지 않는지 확인하고 싶습니다.
_content = sb.ToString().Trim(new char[] { Environment.NewLine });
그러나 Trim은 문자열 모음에 대해 오버로드 된 매개 변수가없는 것처럼 보이므로 위의 코드는 작동하지 않습니다 .
문자열 끝에서 Enivronment.Newline을 제거하는 가장 간단한 한 줄은 무엇입니까?
답변
다음은 나를 위해 작동합니다.
sb.ToString().TrimEnd( '\r', '\n' );
또는
sb.ToString().TrimEnd( Environment.NewLine.ToCharArray());
답변
.Trim()
\r\n
나를 위해 제거합니다 (.NET 4.0 사용).
답변
어때 :
public static string TrimNewLines(string text)
{
while (text.EndsWith(Environment.NewLine))
{
text = text.Substring(0, text.Length - Environment.NewLine.Length);
}
return text;
}
여러 줄 바꿈이 있으면 다소 비효율적이지만 작동합니다.
또는, 당신이 (말) 트리밍 괜찮다면 "\r\r\r\r"
또는 "\n\n\n\n"
오히려보다는 다만 "\r\n\r\n\r\n"
:
// No need to create a new array each time
private static readonly char[] NewLineChars = Environment.NewLine.ToCharArray();
public static string TrimNewLines(string text)
{
return text.TrimEnd(NewLineChars);
}
답변
프레임 워크를 사용하십시오. ReadLine () 메서드는 다음과 같이 말합니다.
줄은 줄 바꿈 ( “\ n”), 캐리지 리턴 ( “\ r”) 또는 바로 뒤에 줄 바꿈 ( “\ r \ n”)이 오는 캐리지 리턴이 뒤 따르는 일련의 문자로 정의됩니다. 반환되는 문자열에 종료 캐리지 리턴 또는 줄 바꿈이 포함되지 않습니다.
따라서 다음은 트릭을 수행합니다.
_content = new StringReader(sb.ToString()).ReadLine();
답변
이건 어떤가요
_content = sb.ToString().Trim(Environment.NewLine.ToCharArray());
답변
_content = sb.TrimEnd(Environment.NewLine.ToCharArray());
물론 “\ r \ r \ r \ r”과 “\ n \ n \ n \ n”및 기타 조합이 제거됩니다. 그리고 NewLine이 “\ n \ r”이 아닌 “환경”에서 이상한 동작이 발생할 수 있습니다. 🙂
그러나 이것으로 살 수 있다면 이것이 문자열 끝에서 줄 바꿈 문자를 제거하는 가장 효과적인 방법이라고 믿습니다.
답변
그냥 어때 :
string text = sb.ToString().TrimEnd(null)
그러면 문자열 끝에서 모든 공백 문자를 가져옵니다. 개행이 아닌 공백을 유지하려는 경우에만 문제가됩니다.