使用c#删除换行符
本文关键字:换行符 删除 使用 | 更新日期: 2023-09-27 18:16:27
我从名为'Description'的数据库字段获得字符串,它有换行符。它看起来像这样:
项头
描述在这里。
如何删除换行符?我尝试以下功能,但它不工作:
public string FormatComments(string comments)
{
string result = comments.Replace(@"'r'n'", "");
result = result.Replace(" ", "");
return result;
}
请提出解决方案。
问候,阿西夫Hameed
主要原因是您正在使用逐字字符串字面值(以@
开头)并以字面值'
结束。结果是,Replace
将最终寻找替换字符序列'
, r
, '
, n
, '
,而不是一个新的行。
这个应该可以修复它:
string result = comments.Replace("'r'n", ""); // Not idiomatic
但是更习惯的(和可移植的)应该是:
string result = comments.Replace(Environment.NewLine, "");
(编辑:这当然假设写数据库的系统和读数据库的系统使用相同的换行约定,或者翻译是透明的。如果不是这种情况,当然最好使用您希望用来表示换行的实际字符序列。)
顺便说一下,你似乎在试图摆脱所有的空白字符。
在这种情况下,你可以这样做:
// Split() is a psuedo-overload that treats all whitespace
// characters as separators.
string result = string.Concat(comments.Split());
你试过使用正则表达式吗?他们很擅长处理这类任务
result = Regex.Replace(result, @"'r'n?|'n", " ");
要删除所有换行符,无论环境或格式错误的字符串,我认为这是最简单的选择:
var singleLineString = multilineString.Replace("'r", string.Empty).Replace("'n", string.Empty);
你的问题是@符号。在这种情况下没有必要。
你想要的comments.Replace("'r'n", "");
使用该代码替换新行
myString = myString. replace (System.Environment. replace)