2012-10-03 35 views
0

使用C#我們可以做字符串檢查一樣,如果string.contains()方法,例如:使用字符串操作C#

string test = "Microsoft"; 
if (test.Contains("i")) 
    test = test.Replace("i","a"); 

這是好的。但是如果我想更換其中包含字符串「符號將被替換

我想實現這一點:

"<html><head> 

我想刪除"符號出現在檢查,這樣的結果將是:

<html><head> 
+2

你不需要檢查包含第一,更換不會拋出異常,它只是做沒有。 – abatishchev

回答

4

「人品還可以更換,就像任何其他:

test = test.Replace("\"",""); 

此外,請注意,您不必測試該字符是否存在:您的test.Contains(「i」)可能會被刪除,因爲.Replace()方法不會執行任何操作(不替換,錯誤拋出)如果字符不存在於字符串中。

+2

我更喜歡這個答案,因爲它消除了多餘的'.Contains()' –

0
if (check.Contains("\"") 
    output = check.Replace("\"", ""); 
+0

你不需要檢查包含第一個,替換不會拋出異常,它只是無所作爲。 – abatishchev

+0

我知道。我只是寫了一個相似的例子 –

1

要在字符串中包含引號符號,您需要使用反斜槓將其轉義。在你的榜樣,你要使用的東西LIK這樣的:

if (test.Contains("\"")) 
0
if (str.Contains("\"")) 
{ 
    str = str.Replace("\"", ""); 
} 
+0

你不需要檢查包含第一個,替換不會拋出異常,它只是沒有做任何事情。 – abatishchev

0
output = check.Replace("\"", ""); 

只要記住使用"\""的報價跡象,因爲反斜槓是escape character

1
string SymbolString = "Micro\"so\"ft"; 

以上使用瞰字符\要插入的字符串「人物之間

string Result = SymbolString.Replace("\"", string.Empty); 

用以下內容替換我替換字符‘’爲空。

這是你嘗試實現?

+0

謝謝@adatishchev我忘了縮進代碼;) –

+0

不客氣:)但它不會工作。或者'String.Replace(String,String)'或'String.Replace(Char,Char)'但不能混合使用,請參見[MSDN](http://msdn.microsoft.com/zh-cn/library/system。 string.replace.aspx)。 – abatishchev

1

有兩種方法可以在字符串文字中包含'"'字符。到目前爲止所有答案都使用了c-style方式:

var quotation = "Parting is such sweet sorrow"; 
var howSweetIsIt = quotation + " that I shall say \"good-night\" till it be morrow."; 

在某些情況下(特別是對於使用Visual Basic的用戶而言),逐字字符串文字可能更容易閱讀。逐字字符串文字以@符號開頭,唯一需要轉義的字符是引號 - 所有其他字符都是逐字(包括名稱)。顯著,逃避引號的方法是不同的:而不是前面加一個反斜槓,它必須加倍:

var howSweetIsIt = quotation + " that I shall say ""good-night"" till it be morrow."; 
+0

好信息Phoog。謝謝.. – sachin