2012-01-07 42 views
2

在C#中,我可以用.Contains檢查一個字符串包含引號內的值? 例如,如果我評價一個字符串包含C# - 。載 - 在字符串有引號它

He said "something" 

我想要做的事,如:

strEval.Contains("He said "something"") 

回答

10

是。您需要逃避的報價,所以他們不終止字符串:

strEval.Contains("He said \"something\""); 

已經看清楚MSDN on escape sequences in C# strings

+0

感謝快速解答 – DarkW1nter 2012-01-07 11:30:13

+1

也只是爲了增加它是否是一個原義字符串可以雙引號:'strEval.Contains(@「他說,‘’東西」「」);' – 2012-01-07 11:32:41

+0

我想補充,什麼ID字符串包含後最後一個「例如,(他說:‘東西’了)感謝 – DarkW1nter 2012-01-07 11:36:17

4

你只是逃避引號:

strEval.Contains("He said \"something\"") 
5

這個問題無關string.Contains。真正的問題是如何編寫string literal在C#中含有"。對於這個有幾種可能性:

  1. \逃避它:@"He said ""something""""He said \"something\""
  2. ,你複製"使用的前綴字符串逐字用@。如果原始字符串包含許多反斜槓,如在一個正則表達式這是很有用的。
  3. 使用的"十六進制值,但是這不是一個好主意。