2013-10-07 178 views
-1

我有一個看似簡單,但對我的生活,我想不出如何完成它的一個問題替換字符串中的」

這裏是我的出發字符串:

Hello \"this is my string\" 

以下是我想要的結果是:

Hello "this is my string" 

所以基本上,我需要只是"更換\"

不要想刪除所有出現的\,因爲在我的字符串的其他地方可能存在單個反斜槓。我只想替換\""的出現次數。

+1

你試過了什麼? – SLaks

+2

你在哪裏看到調試器中的''''? – Habib

+0

目前你的代碼是什麼? – Arran

回答

3

如果字符串實際上包含\「:

var replaced = myString.Replace(@"\""", @"""") 
+0

這個工作。謝謝!我會盡快接受正確的。 – FastTrack

-1

試試這個yourString.Replace("\\\"", "");

+0

@downvoter,why投票? –

0

如果你是過敏的轉義字符(換句話說,只是爲了好玩,沒有轉義字符寫的,如既不\\用於在正常的字符串\""用於"在逐字字符串):

myString.Replace(@"\"+'"', '"'.ToString()) 

請注意,C#調試器顯示"\",因此您的字符串實際上可能只有" s。例如。 string helloWorld = "Hello \"World\"";在調試器中顯示與代碼"Hello \"World\""相同,而不是字符串的值Hello "World"

2

您可能會被C#用於將引號符號嵌入到字符串中的一種合成技巧弄糊塗。試想一下:

​​

在這種情況下,\字符稱爲轉義字符,它告訴編譯器忽略下一個字符,只是把它的字符串中。結果字符串實際上不包含\字符。如果你這樣做:

string ghi = "This is a \\\"quote\\\""; // this is ok 

結果字符串將包含\和「如果你想更換這個你可以做到以下幾點:

string newghi = ghi.Replace("\\\"", "\""); 

這將替換所有的\」事件與「