正则表达式将是矫枉过正。使用String.Replace Method (String, String):
string myString = @"a|bc\de,fg~h,ijk,lm|no\p";
myString = myString.Replace("|", "\\|").Replace(",", "\\,").Replace("~", "\\~").Replace("\\", "\\\\");
这将产生"a\|bc\\de\,fg\~h\,ijk\,lm\|no\\p"
有可能获得串出对JavaScript的方法不止一种。这将取决于你在哪里生成字符串。为了说明的目的,假设你在代码后面生成了字符串,并将其置于客户端的某种控制(如隐藏字段)中。
在客户端,你会得到的字符串,并使用JavaScript方法与string.replace,像这样,假设str1和"a\|bc\\de\,fg\~h\,ijk\,lm\|no\\p"
:
str1 = str1.Replace("\,", ",");
str1 = str1.Replace("\|", ",");
str1 = str1.Replace("\\", "\");
这已经有一段时间,因为我做了JavaScript,因此你可能需要用另一个反斜杠(如\\
)来避开反斜线。
来源
2011-09-07 05:44:05
Tim
在你的'〜h'发生了什么? –