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

如何删除回车符 (\r)和 从一个字符串末尾开始的 Unix 换行符 (\n)

227499 次浏览

这将从 s的末尾删除运输返回和新行的任何组合:

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

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

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

这个应该可以。

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

如果总是有一个 CRLF,那么:

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

如果它可能有也可能没有,那么:

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

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

String temp = s.Replace("\r\n","").Trim();

s是原来的字符串。(注意大写)

对我们来说:

TrimEnd(New Char() {ControlChars.Cr, ControlChars.Lf})
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+", " ");
varName.replace(/[\r\n]/mg, '')

这太容易了——对我来说,我过滤掉了某些电子邮件项目。我正在写我自己定制的垃圾邮件过滤器。在字符串中使用 r 和/或 n 时,它将清除所有项,而不是过滤。

我刚刚做了 filter = filter。删除(’n’)和 filter = filter。删除(’r’)。我做了一个过滤器,让最终用户可以使用记事本直接编辑文件,这样就不知道这些字符可能会嵌入到哪里——可能不在字符串的开始或结束处。所以把它们都移除就可以了。

其他条目都工作,但删除可能是最容易的?

我从这篇文章中学到了更多关于正则表达式的知识——在这里使用它的工作非常酷。

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

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

它将说明不同的换行符和回车符。

s.TrimEnd();

以上就是我从字符串末尾删除 r n 所需要的全部内容。

对我来说,这个被否决的答案似乎是错误的。首先,当我尝试时它不工作,其次,如果它确实工作,我会期望 s。 TrimEnd (’r’,’n’)只会删除 都不是 a’r’或 a’n’,所以我必须在我的字符串上运行它两次-一次是当’n’在结尾时,第二次是当’r’在结尾时(现在’n’被删除了)。

我用了很多清除级别

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

现在我们有了干净的一排

这就是我要为自己工作的。

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

如果你使用核心 IvanStoychev。有用。字符串。扩展,你可以做:

s = s.TrimEnd(Environment.Newline);

它增加了一个超载的 TrimEnd,需要一个 string