回答:
これにより、の末尾から改行と改行の組み合わせが削除されますs
。
s = s.TrimEnd(new char[] { '\r', '\n' });
編集:またはJPが親切に指摘するように、次のようにもっと簡潔に綴ることができます:
s = s.TrimEnd('\r', '\n');
s = s.TrimEnd()
-ドキュメントが言うように: trimCharsがnullまたは空の配列の場合、代わりにUnicodeの空白文字が削除されます。-String.TrimEndを
'\r'
と'\n'
し、他には何もなく、空白文字' '
インスタンス。
複数のプラットフォームを使用している場合は、この方法を使用する方が安全です。
value.TrimEnd(System.Environment.NewLine.ToCharArray());
異なる改行文字と復帰文字が考慮されます。
tst.TrimEnd( '\r', '\n' )
主要なEOLは[現在] \r
との\n
組み合わせが異なるだけなので、実際には合理的に「安全」ですが、alexwの方法が「正しい」答えです。CLRに、このプラットフォームの改行に含まれる文字を教えてください。 EOLは常に0Dと0Asのコンボではありませんでした
Environment.NewLine
いましたが、\r
なしで存在するインスタンスを処理するようには見えませんでした\n
。 TrimEnd('r','\n')
この場合、より信頼できるようです。
String temp = s.Replace("\r\n","").Trim();
s
元の文字列です。(注大文字)
replace()
、それからtrim()
過剰ではなく使用しTrimEnd()
ていますか、それとも何か不足していますか?
s.TrimEnd();
上記は、文字列の末尾から「\ r \ n」を削除するために必要なすべてです。
投票の答えは私には間違っているようです。最初に、私が試したときにそれは機能しませんでした、次に、それが機能した場合、s.TrimEnd( '\ r'、 '\ n')は'\ r'または '\ n'のいずれかのみを削除することを期待します、それで私はそれを私の文字列に対して2回実行する必要があります-'\ n'が最後にあったときと2回目は '\ r'が最後にあったとき(今度は '\ n'が削除された) 。
常に単一のCRLFがある場合は、次のようになります。
myString = myString.Substring(0, myString.Length - 2);
ある場合もない場合も、次のようになります。
Regex re = new Regex("\r\n$");
re.Replace(myString, "");
これらの両方(設計による)は、最大で1つのCRLFを削除します。パフォーマンスのために正規表現をキャッシュします。
これは簡単すぎました。私にとっては、特定のメールアイテムを除外しています。独自のカスタムメールジャンクフィルターを作成しています。文字列に\ rおよび/または\ nを使用すると、フィルタリングの代わりにすべてのアイテムが消去されていました。
したがって、filter = filter.Remove( '\ n')およびfilter = filter.Remove( '\ r')を実行しました。エンドユーザーがメモ帳を使用してファイルを直接編集できるようにフィルターを作成しているので、これらの文字がどこに埋め込まれているのかわからない-文字列の先頭または末尾以外にある可能性があります。したがって、それらをすべて削除することでそれが実現します。
他のエントリはすべて機能しますが、削除が最も簡単でしょうか?
私はこの投稿からRegexについてかなり多くのことを学びました-ここでの使用でかなりクールな仕事。
filter = filter.Remove('\n').Remove('\r');
消去レベルを多用しています
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, "");
そして今、私たちはきれいな1行を持っています
これは私のために働くために得たものです。
s.Replace("\r","").Replace("\n","")