2015-10-09 98 views
-1

我正在編寫一個小型WPF應用程序,幫助我的公司更新客戶項目。我有一個我必須執行的SQL文件列表。現在這些腳本總是用「USE [Insert_Database]」編寫。我將腳本的全部內容讀入一個字符串,但是我的Replace方法似乎沒有做任何事情。替換大字符串中的特定字符串

string content = File.ReadAllText(file); 
content.Replace("Insert_Database", Database.Name); 
SqlScriptsList.Add(new SqlScriptModel {Name = Path.GetFileName(file), Path = file, ScriptContent = content}); 

我在瀏覽這裏時也沒有發現任何東西。有人能給我一個鏈接或解釋我做錯了什麼?

+2

有一點建議 - 如果字符串真的很大,你會做很多替換,我建議你去搜索繩索實現 - 一個很好的結構,以實現rm修改大字符串。 – pwas

+0

字符串是不可變的。在創建對象後,字符串對象的內容無法更改,儘管語法使得它看起來好像可以這樣做 –

回答

3

String.Replace返回修改string,所以它應該是:

content = content.Replace(....); 

此方法不修改當前實例的值。 而是它返回一個新字符串,其中newValue 的所有匹配項均被newValue替換。

1

您可以使用替換功能上串

str = str.Replace("oldstr","newstr"); 

如下如果oldstr在STR找到,那麼它將被新的所取代str