我正在尝试将用于富文本框的值插入到 mysql 字段中。由于 mysql 不会按字面意思对待\\
,\r
我想用 替换所有出现\
的\\
。我努力了:
mystring.Replace(@"\", @"\\");
但它不适用于\r
,\n
等。我还能怎么做呢?
编辑: 我的输入看起来像:
\rtf1\ansi\ansicpg1252\deff0\r\n
我的输出应该是这样的:
\\rtf1\\ansi\\ansicpg1252\\deff0\r\n
谢谢。
尝试:
Regex.Escape(mystring);
请参阅:使用 C# 和 ASP.Net 在 MySQL 中转义特殊字符
例子:
var data = "this is \n a \r\ntest";
var result = Regex.Escape(data); // this\ is\ \n\ a\ \r\ntest
//replace escaped spaces
Console.Write(result.Replace(@"\ ", " ")); // this is \n a \r\ntest
这对我有用:
var mystring = @"\rtf1\ansi\ansicpg1252\deff0\r\n";
mystring = mystring.Replace(@"\", @"\\");
产量
\\rtf1\\ansi\\ansicpg1252\\deff0\\r\\n
我能想到的唯一的事情是:
mystring
?mystring