2012-07-28 144 views

回答

3

使用\删除@和逃避双引号:

string vmListCommand = "vim-cmd vmsvc/getallvms | sed '1d' | awk '{if ($1 > 0) print $1\":\"$2}'"; 

您写道:

我用@逃避一切

@用于更改转义bahaviour,而不是转义所有。如果一个字符串以@为前缀,则忽略转义序列(\)。

+0

如果你想了解更多关于'@ string'的内容,请看看[@(at)sign in file path/string](http://stackoverflow.com/questions/5179389/at-sign-in-文件路径字符串)和[在C#中字符串前面的@是什么?](http://stackoverflow.com/questions/556133/whats-the-front-of-a-string-in-c ) – Zbigniew 2012-07-28 13:17:31

1

在您的字符串中使用\进行换码。

例子:

string str1 ="hello\\"; 
1

您需要删除的文字和逃生

string vmListCommand = "vim-cmd vmsvc/getallvms | sed '1d' | awk '{if ($1 > 0) print $1\":\"$2}'"; 
1

有需要在文字字符串进行转义一个字符。双引号"。如果你不逃避它,编译器如何知道哪个"是字符串的一部分,以及哪个字符串终止?

要在文本字符串逃脱",只需双击它:

@"vim-cmd vmsvc/getallvms | sed '1d' | awk '{if ($1 > 0) print $1"":""$2}'" 

另外,您可以切换到正常的字符串语法,并与\逃脱。

相关问题