以下字串是示例。字串來自 api 的回應。
string s = "string contain another string(< a href =\"https:")";
string text = "This is a \"string\" in C#.";
string text1 = "This is a \na test \nb.";
我想將“”替換為“\”,因為我想將此值傳遞給 Postgresql。
即使列具有相同的值,也只有一個反斜杠在 postgresql 中不起作用。它適用于 pgadmin 或 azure data studio 中的雙斜杠“\”或三斜杠“\”。
我正在使用 C# 中的 linq 與 postgresql 連接。
怎么做
這里在第一個/第二個字串中引入字串內部字串使用''作為雙引號
-- 這段代碼喚醒得很好。
if (s.Contains("\""))
{
s = s.Replace("\"", "\\\"");
}
-- It is not working
if (s.Contains("\n"))
{
s = s.Replace("\n", "\\\n");
}
我錯在哪里。
它將這個字串 ( "This is a \na test \nb.";) 替換為 ( "This is a \\\na test \\\nb.";)
從 C# 中沒有獲得價值,但是當我使用 like 陳述句復制并粘貼到 pgadmin 中的相同字串時,它正在作業。
var result = (from t in DbTestContext.Test
where t.TestName.Trim().ToLower().Contains(S.Trim().ToLower())
select new
{
TestStartDate = t.TestStartDate,
}).FirstOrDefault();
uj5u.com熱心網友回復:
您嘗試\n在 SQL 字串中插入換行符是錯誤的。你不需要一個實際的換行符,但字母流過一個反斜杠n。所以,寫:
s = s.Replace("\n", "\\n");
在第一個字串"\n"中有一個“真正的”換行符。
第二個字串是 C# 中的反斜杠 'n'。PostgreSQL 會將此解釋為換行符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/512378.html
標籤:C#网apiasp.net 核心asp.net-web-api
