C#从SQL服务器中删除字符串中的NewLine字符
所有(这是回归基础!),我从SQL Server中获取了一串信息。 字符串是这样的
Hello, my name is Frank Butcher\n\n and I work at Watford Car lot, and I am 65 years old.
该消息将被拉入消息框以提供有关进程的信息。 我用它读了字符串
SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandTimeout = 0; cmd.CommandText = strSQL; strResult = cmd.ExecuteScalar().ToString();
这会得到字符串,但是当我把它放到我的文本框中时,消息显示时\n\n
没有所需的双NewLine。
我试过用
strResult = strResult.Replace("\n", Environment.NewLine);
在字符串上,但这没有帮助。 我精神错乱,我做错了什么?
谢谢你的时间。
我假设你已经存储了一个文字反斜杠,然后在数据库中的字符串中存储了字符“n”,而不是换行符。 因此,您必须执行您正在执行的String.Replace
。
你是如此接近,但你需要逃避反斜杠:
strResult = strResult.Replace("\\n", Environment.NewLine);
在没有转义反斜杠的情况下,编译器将\n
解释为换行符的特殊转义序列,因此您的行等同于“用NewLine替换NewLine”(您已经发现它什么都不做)。
或者,您可以在字符串常量前加上@
符号,这意味着将其视为文字:
strResult = strResult.Replace(@"\n", Environment.NewLine);