从c#中的字符串末尾删除回车符和换行符

Avi*_*vik 106 c# string newline carriage-return

如何从字符串末尾删除回车符(\r)和换行符(\n)

Ric*_*dle 190

这将从以下结束时修剪回车和换行的任何组合s:

s = s.TrimEnd(new char[] { '\r', '\n' });
Run Code Online (Sandbox Code Playgroud)

编辑:或者正如JP亲切地指出的那样,你可以更简洁地拼写为:

s = s.TrimEnd('\r', '\n');
Run Code Online (Sandbox Code Playgroud)

  • 记下TrimEnd声明中的params关键字,它让你传递一个字符的多个实例而不是数组.http://msdn.microsoft.com/en-us/library/w5zay9db(VS.71).aspx (10认同)
  • 只是出于兴趣,您真正需要的是`s = s.TrimEnd()` - 正如文档所说:_如果trimChars为null或空数组,则删除Unicode空格字符._ - 请参阅[String.TrimEnd ](http://msdn.microsoft.com/en-gb/library/system.string.trimend.aspx) (7认同)
  • 自从v1.0问世(10年前)以来,我一直在编写c#.现在你告诉我关于TrimEnd的事.卫生署! (4认同)
  • 怎么样:s = s.TrimEnd(System.Environment.NewLine.ToCharArray()); (3认同)

JP *_*oto 31

这应该工作......

var tst = "12345\n\n\r\n\r\r";
var res = tst.TrimEnd( '\r', '\n' );
Run Code Online (Sandbox Code Playgroud)


Ale*_*ese 19

如果您使用多个平台,则使用此方法更安全.

value.TrimEnd(System.Environment.NewLine.ToCharArray());
Run Code Online (Sandbox Code Playgroud)

它将考虑不同的换行符和回车符.

  • 可能这实际上是一个跨平台的问题,而且无论系统环境如何,它都需要专门删除\ r \n. (2认同)

Cra*_*893 11

String temp = s.replace("\r\n","").trim();
Run Code Online (Sandbox Code Playgroud)

s 是原始字符串.

  • 这也将:1)从字符串的中间删除\ r \n,2)从字符串的开头删除任何空格字符,3)从字符串的末尾删除任何空格字符. (11认同)
  • 使用`replace()`然后`trim()`当`TrimEnd()`可以单独完成工作,或者我错过了什么时,不会过度杀戮? (4认同)

mar*_*999 8

s.TrimEnd();
Run Code Online (Sandbox Code Playgroud)

以上就是我需要从字符串末尾删除'\ r \n'.

对我的评价似乎是错误的.首先,当我尝试它不工作,其次,如果它没有工作,我会期望s.TrimEnd("\ r","\n")将只删除或者一个"\ r"或"\n" ,所以我必须在我的字符串上运行两次 - 一次是在'\n'结束时,第二次是'\ r'结束时(现在'\n'被删除了) .