2013-07-27 65 views
0
string banana = "banana apple"; 
banana.Replace("apple", "pie"); 

如果我想用餡餅取代蘋果,我可以這樣做,還是我需要使用以下?是否string.Replace(「a」,「b」)自動檢查「a」是否存在?

if(banana.Contains("apple")) 
    banana.Replace("apple", "pie"); 
+0

你有什麼期望會發生,如果你嘗試替換一個不存在的子字符串?它會拋出異常?您是否閱讀過文檔? –

+0

我想OP要問的是他是否需要在替換之前檢查字符串是否爲空。問題是肯定的,否則會引發異常(即使字符串爲空)。你可以使用StringBuilder來替換而不必檢查。另外,如果你沒有使用StringBuilder,你必須重新分配新的替換字符串到舊字符串 –

回答

20

你一定要讀msdn:(或自己試試它了)

返回值類型:System.String一個字符串,它等效於 當前字符串除了屬性oldValue的所有實例都換成 newValue。 如果在當前實例中未找到oldValue,則方法 將不變地返回當前實例。

側面說明:因爲字符串是不可變的(你不能改變的情況下),你必須重新分配一個新的字符串,如果你想改變舊:

banana = banana.Replace("apple", "pie"); 
+1

那麼完美地回答了我的問題,謝謝。 – Adam

相關問題