我正在编写c#代码来替换文件中的某些单词。我写的2行演示简单代码不起作用。没有错误,Console.WriteLine
也提供了正确的输出。
string strFileContent = File.ReadAllText(@"C:\Users\toshal\Documents\TCS\stop_words.txt");
Console.WriteLine("strfilecontent" + strFileContent);
strFileContent = strFileContent.Replace("actually" , " ");
字符串“实际”未在文件中被替换。 这可能是什么问题?
答案 0 :(得分:10)
当然,它没有在文件中被替换,因为你只是读取数据然后改变它。
如果要应用更改,则必须将其写回文件。
string strFileContent = File.ReadAllText(@"C:\Users\toshal\Documents\TCS\stop_words.txt");
Console.WriteLine("strfilecontent" + strFileContent);
strFileContent = strFileContent.Replace("actually" , " ");
StreamWriter SW = File.CreateText(@"C:\Users\toshal\Documents\TCS\stop_words.txt");
SW.Write(strFileContent);
SW.Close();
答案 1 :(得分:5)
您正在创建一个包含替换值的字符串,但您永远不会将该值写回文件。因此,文件保持不变。
要修复,请添加以下行以将更改后的值写回文件:
string path = @"C:\Users\toshal\Documents\TCS\stop_words.txt";
string strFileContent = File.ReadAllText(path);
Console.WriteLine("strfilecontent" + strFileContent);
strFileContent = strFileContent.Replace("actually" , " ");
File.WriteAllText(path, strFileContent);