簡體   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