[英]How to replace char(10) [sql server] to something else in c#
简单问题,保存到我的数据库中的字符串使用char(10)来表示新行,我想在将其保存到数据库之前用<br />
替换它,所以当我在一个数据库中查看它时它显示为一个实际的新行HTML页面。
我该怎么做呢? 因为c#中没有char(10)
我正在使用:
StringName.Replace("char(10)", "<br />");
哪个不起作用。
我的代码:
var InscriptionText = Request["InscriptionText"];
InscriptionText.Replace("\n", "<br />");
var qry = "Instert into .." (normal query)
db.query(qry);
然后我查看数据库中的数据,发现它没有替换它并保存为“line1line2line3line4”
Replace
方法返回一个新字符串,需要保存它。
只需更改第二行:
var InscriptionText = Request["InscriptionText"];
InscriptionText = InscriptionText.Replace("\n", "<br />");
//...
但是,我建议你不要编辑实际的用户输入。 保存它,因为它来到你身边。 并在将其显示给用户时替换它。 只是一个建议!
在c#中你可以这样做:
string breakText1 = "Some text without a line break.";
string breakText2 = "Some text " + Environment.NewLine + "with a line break.";
string breakText3 = "Some text \nwith a new line.";
string breakText4 = "Some text \rwith a carriage return.";
Console.WriteLine("Strings before replace...");
Console.WriteLine(breakText1);
Console.WriteLine(breakText2);
Console.WriteLine(breakText3);
Console.WriteLine(breakText4);
Console.WriteLine("Strings after replace...");
Console.WriteLine(breakText1.Replace("\r\n", "<br />").Replace("\r", "<br />").Replace("\n", "<br />").Replace("<br /><br />", "<br />"));
Console.WriteLine(breakText2.Replace("\r\n", "<br />").Replace("\r", "<br />").Replace("\n", "<br />").Replace("<br /><br />", "<br />"));
Console.WriteLine(breakText3.Replace("\r\n", "<br />").Replace("\r", "<br />").Replace("\n", "<br />").Replace("<br /><br />", "<br />"));
Console.WriteLine(breakText4.Replace("\r\n", "<br />").Replace("\r", "<br />").Replace("\n", "<br />").Replace("<br /><br />", "<br />"));
当然,这可以更优雅地完成,但是这可以解决这个问题,并涵盖了回车和/或换行的不同常见组合。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.