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

时间:2009-05-16 18:51:00

标签: c# string newline carriage-return

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

12 个答案:

答案 0 :(得分:183)

这会删除s末尾的回车和换行符的任意组合:

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

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

s = s.TrimEnd('\r', '\n');

答案 1 :(得分:29)

这应该有用......

var tst = "12345\n\n\r\n\r\r";
var res = tst.TrimEnd( '\r', '\n' );

答案 2 :(得分:19)

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

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

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

答案 3 :(得分:11)

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

s是原始字符串。

答案 4 :(得分:7)

s.TrimEnd();

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

我认为错误的回答似乎不对。首先,它在我尝试时不起作用,其次,如果它确实有效,我希望s.TrimEnd('\ r','\ n')只会删除 a'\ r \ n '或'\ n',所以我必须在我的字符串上运行两次 - 一次是在'\ n'结束时,第二次是在'\ r'结束时(现在是'\ n'已删除)。

答案 5 :(得分:4)

如果总有一个CRLF,那么:

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

如果可能有或没有,那么:

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

这两个(按设计),最多只能删除一个CRLF。缓存正则表达式以提高性能。

答案 6 :(得分:4)

对我们来说VBers:

TrimEnd(New Char() {ControlChars.Cr, ControlChars.Lf})

答案 7 :(得分:3)

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+", " ");

答案 8 :(得分:3)

这太简单了 - 对我来说,我过滤掉了某些电子邮件。我正在编写自己的自定义电子邮件垃圾邮件过滤器。使用字符串中的\ r和/或\ n,它将擦除所有项目而不是过滤。

所以,我刚做过filter = filter.Remove('\ n')和filter = filter.Remove('\ r')。我正在制作我的过滤器,以便最终用户可以使用记事本直接编辑文件,因此无法确定这些字符可能嵌入的位置 - 可能不是在字符串的开头或结尾。所以删除它们都可以。

其他条目都有效但删除可能最简单吗?

我从这篇文章中学到了很多关于Regex的知识 - 非常酷的工作在这里使用。

答案 9 :(得分:1)

我使用了大量的擦除级别

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, "");

现在我们有一排干净的

答案 10 :(得分:1)

这就是我要为我工作的东西。

s.Replace("\r","").Replace("\n","")

答案 11 :(得分:0)

varName.replace(/[\r\n]/mg, '')