如何从c#中的string中删除“\ r \ n”? 我可以使用regEx吗?
我想从ASP.NET的textarea持久化string。 我需要去掉回车换行,然后把剩下的东西分解成一个由50个字符组成的string数组。
我有这个到目前为止
var commentTxt = new string[] { }; var cmtTb = GridView1.Rows[rowIndex].FindControl("txtComments") as TextBox; if (cmtTb != null) commentTxt = cmtTb.Text.Length > 50 ? new[] {cmtTb.Text.Substring(0, 50), cmtTb.Text.Substring(51)} : new[] {cmtTb.Text};
它工作正常,但我不剥离CrLf字符。 我如何正确地做到这一点?
谢谢,〜在圣地亚哥
你可以使用正则expression式,是的,但是一个简单的string.Replace()可能就足够了。
myString = myString.Replace("\r\n", string.Empty);
.Trim()函数将为你做所有的工作!
我正在尝试上面的代码,但“修剪”function后,我注意到它的所有“干净”,甚至在它到达replace代码之前!
String input: "This is an example string.\r\n\r\n" Trim method result: "This is an example string."
来源: http : //www.dotnetperls.com/trim
这将string拆分为新行字符的任意组合,并将它们与一个空格连接起来,假设您确实需要新行的空间。
var oldString = "the quick brown\rfox jumped over\nthe box\r\nand landed on some rocks."; var newString = string.Join(" ", Regex.Split(oldString, @"(?:\r\n|\n|\r)")); Console.Write(newString); // prints: // the quick brown fox jumped over the box and landed on some rocks.
这个更好的代码:
yourstring = yourstring.Replace(System.Environment.NewLine, string.Empty);
假设你想用一些东西代replace行符,例如:
the quick brown fox\r\n jumped over the lazy dog\r\n
不会像这样结束:
the quick brown foxjumped over the lazy dog
我会做这样的事情:
string[] SplitIntoChunks(string text, int size) { string[] chunk = new string[(text.Length / size) + 1]; int chunkIdx = 0; for (int offset = 0; offset < text.Length; offset += size) { chunk[chunkIdx++] = text.Substring(offset, size); } return chunk; } string[] GetComments() { var cmtTb = GridView1.Rows[rowIndex].FindControl("txtComments") as TextBox; if (cmtTb == null) { return new string[] {}; } // I assume you don't want to run the text of the two lines together? var text = cmtTb.Text.Replace(Environment.Newline, " "); return SplitIntoChunks(text, 50); }
如果语法不完美,我很抱歉; 我现在没有可用的C#机器。
尝试这个:
private void txtEntry_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { string trimText; trimText = this.txtEntry.Text.Replace("\r\n", "").ToString(); this.txtEntry.Text = trimText; btnEnter.PerformClick(); } }
这是完美的方法
请注意, Environment.NewLine适用于Microsoft平台。
除了上述之外,还需要在单独的函数中添加\ r和\ n !
这是支持您在Linux,Windows或Mac上input的代码
var stringTest = "\r Test\nThe Quick\r\n brown fox"; Console.WriteLine("Original is:"); Console.WriteLine(stringTest); Console.WriteLine("-------------"); stringTest = stringTest.Trim().Replace("\r", string.Empty); stringTest = stringTest.Trim().Replace("\n", string.Empty); stringTest = stringTest.Replace(Environment.NewLine, string.Empty); Console.WriteLine("Output is : "); Console.WriteLine(stringTest); Console.ReadLine();