C# 替换文本文件中特定行中的字符串

C# 替换文本文件中特定行中的字符串,c#,string,C#,String,我想在文本文件中将String1替换为String2 文本文件: This is line no 1. This is line no 2. This is line no 3. This is line no 4. This is line no 5. This is line no 6. String1 : no string2 : number 字符串是: This is line no 1. This is line no 2. This is line no 3. Th

我想在文本文件中将String1替换为String2

文本文件

This is line no 1. 
This is line no 2. 
This is line no 3.
This is line no 4. 
This is line no 5. 
This is line no 6.
String1 : no
string2 : number
字符串是

This is line no 1. 
This is line no 2. 
This is line no 3.
This is line no 4. 
This is line no 5. 
This is line no 6.
String1 : no
string2 : number
我希望将这种类型的输出行3到5替换为“no”到“number”:


System.IO.File.ReadAllLines(字符串路径)
可能会对您有所帮助

它从文本文件创建字符串数组,您编辑数组,并将其保存为
System.IO.File.writeAllines

string[] Strings = File.ReadAllLines(/*File Path Here*/);
Strings[2] = Strings[2].Replace("no", "number");
Strings[3] = Strings[3].Replace("no", "number");
Strings[4] = Strings[4].Replace("no", "number");
File.WriteAllLines(/*File Path Here*/, Strings);

System.IO.File.ReadAllLines(字符串路径)
可能会对您有所帮助

它从文本文件创建字符串数组,您编辑数组,并将其保存为
System.IO.File.writeAllines

string[] Strings = File.ReadAllLines(/*File Path Here*/);
Strings[2] = Strings[2].Replace("no", "number");
Strings[3] = Strings[3].Replace("no", "number");
Strings[4] = Strings[4].Replace("no", "number");
File.WriteAllLines(/*File Path Here*/, Strings);
你应该试试这个:

// Read all lines from text file.
String[] lines = File.ReadAllLines("path to file");
for(int i = 3; i <= 5; i++) // From line 3 to line 5
{
    // Replace 'no' to 'number' in 3 - 5 lines
    lines[i - 1] = lines[i - 1].Replace("no", "number");
}

// Rewrite lines to file
File.WriteAllLines("path to file", lines);
//读取文本文件中的所有行。
String[]lines=File.ReadAllLines(“文件路径”);
对于(int i=3;i您应该尝试以下方法:

// Read all lines from text file.
String[] lines = File.ReadAllLines("path to file");
for(int i = 3; i <= 5; i++) // From line 3 to line 5
{
    // Replace 'no' to 'number' in 3 - 5 lines
    lines[i - 1] = lines[i - 1].Replace("no", "number");
}

// Rewrite lines to file
File.WriteAllLines("path to file", lines);
//读取文本文件中的所有行。
String[]lines=File.ReadAllLines(“文件路径”);

对于(int i=3;i另一种方法,使用
Linq

string[] file = File.ReadAllLines(@"c:\yourfile.txt");
file = file.Select((x, i) => i > 1 && i < 5 ? x.Replace("no", "number") : x).ToArray();
File.WriteAllLines(@"c:\yourfile.txt", file);
string[]file=file.ReadAllLines(@“c:\yourfile.txt”);
file=file.Select((x,i)=>i>1&&i<5?x.Replace(“no”,“number”):x.ToArray();
writeAllines(@“c:\yourfile.txt”,File);

另一种使用
Linq的方法

string[] file = File.ReadAllLines(@"c:\yourfile.txt");
file = file.Select((x, i) => i > 1 && i < 5 ? x.Replace("no", "number") : x).ToArray();
File.WriteAllLines(@"c:\yourfile.txt", file);
string[]file=file.ReadAllLines(@“c:\yourfile.txt”);
file=file.Select((x,i)=>i>1&&i<5?x.Replace(“no”,“number”):x.ToArray();
writeAllines(@“c:\yourfile.txt”,File);

您总是只想替换第3-5行?请使用eg
ReadAllLines
阅读文件,找到您想要的行,执行替换并再次写出。正如@MightyBadaboom所说,我们需要更好地理解这个问题,即如何判断是否应该更改行。然后,您应该显示您已经修改的代码ed和它如何不符合您的要求。然后我们将能够为您提供适当、有用、有针对性的帮助。您始终只想替换第3-5行?请使用eg
ReadAllLines
阅读该文件,找到您想要的行,执行替换并再次写出。正如@MightyBadaboom所说的,我们需要更好地理解这个问题,即如何替换告诉一行是否应该更改。然后,您应该显示您尝试过的代码以及它如何不符合您的要求。然后,我们将能够为您提供适当、有用、定向的帮助。这将引发错误,因为旧文件未被处置。这将引发错误,因为旧文件未被处置