现有一文本,里面内容大致为10000
10000
10000
10000
想要替换为10001
10002
10003
10004注意,是替换,不是生成。
代码该怎么写啊

解决方案 »

  1.   

                string[] lines = File.ReadAllLines("读取文件路径");
                for (int i=0; i < lines.Length;i++)
                {
                    lines[i] = (int.Parse(lines[i]) + i+1).ToString();
                    Console.WriteLine(lines[i]);
                }            File.WriteAllLines("写入文件路径",lines);
      

  2.   

    string pattern_line = @"(?<=\d+?)\d(?=\s|$)";
                string[] text_lines = File.ReadAllLines(@"C:\Users\M\Desktop\Test.txt", Encoding.GetEncoding("GB2312")).Select((a, i) => {
                    a = Regex.Replace(a, pattern_line, (i + 1).ToString());
                    return a; 
                }).ToArray();//读取并替换
                File.WriteAllLines(@"C:\Users\M\Desktop\Test.txt",text_lines);//写回txt
      

  3.   

    int counter = 1;
    string s = File.ReadAllText((@"c:\test.txt"));
    string r = Regex.Replace(s, @"(?m)\d+", delegate(Match match)
    {
    int value = int.Parse(match.Value) + counter++;
    return value.ToString();
    });
    File.WriteAllText((@"c:\test.txt"), r);
      

  4.   

    string str = @"@
    @
    @
    @
    @
    @
    @
    @
    @
    @
    @
    @
    @
    @
    @
    ";
                str = string.Join("\r\n", str.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).Select((t, i) => { return (i + 1).ToString(); }).ToArray());
      

  5.   


    原文
    @ghfgh
    @sfghsfgh
    @sfghfgh
    @sfgh
    @rtyrty
    ....只替换原文的@字符为递增的数字
    1ghfgh
    2sfghsfgh
    3sfghfgh
    4sfgh
    5rtyrty
    ....
      

  6.   

    string[] text_lines = File.ReadAllLines(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("GB2312")).Select((a, i) =>
            {
                a = a.Replace("@",(i + 1).ToString());
                return a;
            }).ToArray();//读取并替换
            File.WriteAllLines(@"C:\Documents and Settings\Administrator\桌面\Test.txt", text_lines);//写回txt