我正在尝试将用于richtextbox的值插入到mysql字段中。由于mysql不会直接处理\\
或\r
,因此我希望将所有\
替换为\\
。我试过了:
mystring.Replace(@"\", @"\\");
但它不适用于\r
,\n
等。我还能做到这一点吗?
修改 我的输入如下:
\ RTF1 \ ANSI \ ansicpg1252 \ deff0 \ r \ n
我的输出应该如下:
\\ RTF1 \\ ANSI \\ ansicpg1252 \\ deff0 \ r \ n
感谢。
答案 0 :(得分:5)
尝试:
Regex.Escape(mystring);
请参阅:Escape special characters in MySQL using C# and ASP.Net
示例:
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
答案 1 :(得分:0)
这对我有用:
var mystring = @"\rtf1\ansi\ansicpg1252\deff0\r\n";
mystring = mystring.Replace(@"\", @"\\");
产量
\\rtf1\\ansi\\ansicpg1252\\deff0\\r\\n
我唯一能想到的是:
mystring
?mystring