繁体   English   中英

如何将char(10)[sql server]替换为c#中的其他内容

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM