如何从此字符串中删除转义字符?

时间:2014-03-10 00:00:21

标签: c#

我需要将一个名为参数的字符串发送给进程。我的论点是建立的,当我从立即窗口检查值时,我得到了这个:

argument
" -i \"M:\\visual studio 2013\\cherry\\Database\\script.sql\" -v varDb=foobar"

我想要的是:(将\替换为\并将\替换为“和”)

argument
" -i "M:\visual studio 2013\cherry\Database\script.sql" -v varDb=foobar"

我有点尴尬我不得不问这个问题,但我已经尝试了各种各样的.Replace和regex表达式。

2 个答案:

答案 0 :(得分:7)

即时窗口显示它被转义,因为它是显示字符串的方式。实际字符串中没有任何转义字符。

你无法将它们删除,因为它们实际上并不存在。这是即时窗口的显示功能。

我怀疑真正的问题必须在你的代码的其他地方。

答案 1 :(得分:4)

正如其他人所提到的,即时窗口显示未转义的字符串(默认情况下)。这可以使用格式说明符(MSDN)进行更改。 追加,nq应删除转义字符

请参阅:Copy value of watch variable in visual studio without escape characters以获取示例