如何删除回车符 (\r)和 从一个字符串末尾开始的 Unix 换行符 (\n)?
(\r)
(\n)
这将从 s的末尾删除运输返回和新行的任何组合:
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。
TrimEnd
string