2015-10-09 112 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