Hca*_*tek 53 c# asp.net string carriage-return
我试图从ASP.NET textarea持久化字符串.我需要去掉回车换行符,然后把剩下的东西分成50个字符的字符串数组.
到目前为止我有这个
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};
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我没有剥离CrLf字符.我该怎么做呢?
谢谢,〜在圣地亚哥
Mat*_*eer 100
你可以使用正则表达式,是的,但一个简单的string.Replace()可能就足够了.
myString = myString.Replace("\r\n", string.Empty);
Run Code Online (Sandbox Code Playgroud)
dim*_*aid 43
.Trim()函数将为您完成所有工作!
我正在尝试上面的代码但是在"修剪"功能之后,我甚至在它到达替换代码之前就注意到它全部"干净"了!
String input: "This is an example string.\r\n\r\n"
Trim method result: "This is an example string."
Run Code Online (Sandbox Code Playgroud)
资料来源:http: //www.dotnetperls.com/trim
Chr*_*ris 25
这会将字符串拆分为新行字符的任何组合,并将它们与空格连接,假设您确实需要新行所在的空间.
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.
Run Code Online (Sandbox Code Playgroud)
alo*_*onp 23
更好的代码:
yourstring = yourstring.Replace(System.Environment.NewLine, string.Empty);
Run Code Online (Sandbox Code Playgroud)
这是完美的方法:
请注意,Environment.NewLine适用于Microsoft平台。
除了上面的之外,还需要在单独的函数中添加\r和\n!
以下代码将支持您在Linux、Windows 还是 Mac上键入:
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();
Run Code Online (Sandbox Code Playgroud)