0

基本上,我不知道我将如何逃避这个:

"\"

以上,我的意思是所有三个字符。这是我到目前为止所得到的,但没有编译。

t = FindAndReplace("\"SLASH\"", "@\\"\"\\");

换句话说。我有文本“SLASH”,应该通过这个替换为“\”

4

2 回答 2

3

您需要将第一个引号转义为\",然后将斜杠转义为\\,然后再次使用\". 然后将整个内容用引号括起来,如下所示:

t = FindAndReplace("\"SLASH\"", "\"\\\"");

@当您的字符串包含许多反斜杠标记并且您不想将它们全部转义时,该表示法很有用,例如在路径名中:

string x = "C:\\Program Files\\Microsoft\\Some Folder\\";

在功能上等同于:

string x = @"C:\Program Files\Microsoft\Some Folder\";

使用@符号允许通过写两次来对引号进行编码,因此对原始问题的可能更具可读性的答案是:

t = FindAndReplace("\"SLASH\"", @"""\""");
于 2013-11-03T15:02:57.970 回答
0

您的第二个字符串实际上被视为

"@\"\"\"

这是两个中间带“\”的字符串。对于您的第一个问题,答案是:

"\"\\\""

如果这不是您在代码中的意思,请澄清您的问题。

于 2013-11-03T15:04:23.967 回答