以下字符串是示例。字符串来自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数据工作室的双斜杠"\"或三斜杠"\。
我正在使用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#并没有得到值,但当我用类似的语句复制并粘贴到pgadmin中时,它就工作了。
var result = (from t in DbTestContext.Test
where t.TestName.Trim().ToLower().Contains(S.Trim().ToLower())
select new
{
TestStartDate = t.TestStartDate,
}).FirstOrDefault();
您尝试在SQL字符串中插入换行n
的位置是错误的。您不需要实际的换行符,而是需要一个由字母n
组成的反斜杠。所以,写:
s = s.Replace("n", "\n");
在第一串CCD_ 5中;真实的";换行。
第二个字符串是C#中的反斜杠+'n'。PostgreSQL会将其解释为换行。