128

文字列の末尾からキャリッジリターン文字(\r)と改行文字を削除するにはどうすればよいですか?(\n)

4

12 に答える 12

213

これにより、キャリッジリターンと改行の組み合わせが次の末尾から削除されますs

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

編集:またはJPが親切に指摘しているように、次のように簡潔に綴ることができます。

s = s.TrimEnd('\r', '\n');
于 2009-05-16T18:55:18.950 に答える
33

これはうまくいくはずです...

var tst = "12345\n\n\r\n\r\r";
var res = tst.TrimEnd( '\r', '\n' );
于 2009-05-16T18:57:43.423 に答える
20

複数のプラットフォームを使用している場合は、この方法を使用する方が安全です。

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

さまざまな改行文字と改行文字が考慮されます。

于 2013-02-20T06:11:11.987 に答える
4

CRLFが常に1つある場合は、次のようにします。

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

ある場合とない場合は、次のようにします。

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

これらは両方とも(設計上)、多くても1つのCRLFを削除します。パフォーマンスのために正規表現をキャッシュします。

于 2009-05-16T18:57:46.353 に答える
4

私たちVBersの場合:

TrimEnd(New Char() {ControlChars.Cr, ControlChars.Lf})
于 2009-10-01T15:28:51.030 に答える
4
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+", " ");
于 2011-03-24T20:17:45.027 に答える
3

これは簡単すぎました。私にとっては、特定のメール アイテムを除外しています。独自のカスタム メール ジャンク フィルターを作成しています。文字列に \r および/または \n を使用すると、フィルタリングする代わりにすべてのアイテムを消去していました。

したがって、filter = filter.Remove('\n') と filter = filter.Remove('\r') を実行しました。エンドユーザーがメモ帳を使用してファイルを直接編集できるようにフィルターを作成しているため、これらの文字がどこに埋め込まれているかわかりません。文字列の先頭または末尾以外の可能性があります。したがって、それらをすべて削除します。

他のエントリはすべて機能しますが、Remove が最も簡単でしょうか?

この投稿から、Regex についてさらに多くのことを学びました。

于 2013-01-12T19:11:55.580 に答える
0
varName.replace(/[\r\n]/mg, '')                                              
于 2012-10-17T14:57:23.313 に答える