比如一个文本文件,其中一行为“abc 111111”。
现在我在代码中找到匹配的abc,希望将其后面的111111改为222222,应如何处理?
在msdn中没有找到相关文档,只找到追加文本的。
谢谢!

解决方案 »

  1.   

    abc是不是固定的几个字符串呢
      

  2.   

    文本文件一般读出来是一行一行读出.
    既然你读到了你要的这行,而且都找到了ABC,那后面的好找啊.string.substring(string.indexof('abc'))
      

  3.   

    先把文本的每行读取,存储在ArrayList,有匹配的就处理,删除旧文本,重新把ArrayList 的内容回写
      

  4.   

    用streamreader类读取文件中的一行,然后判断是否含有要修改的内容,有则改之,然后在重写文件
      

  5.   

    我能想到的办法:
    顺序读取文件内容,每读一行就寻找"abc 111111",找到就将它替换为你要的内容,然后重新写入一个中间文件。文件读完后删除原文件,将中文文件改名为原文件名。
    不知道这样可行否?关注
      

  6.   

    配合应用Replace,Substring,IndexOf方法就可以实现你的功能。
      

  7.   

    using System.Text.RegularExpressions;
    用正则表达式
    string str = "abc 111111";
    Regex regabc= new Regex("abc *(?<group>[0-9]+)",RegexOptions.IgnoreCase|RegexOptions.Multiline);

    MatchCollection abcFound = regabc.Matches(str);GroupCollection abcGroups;string tempm = null;
    foreach(Match matchMade in abcFound)
    {
    ...
    }
    自己再看看帮助吧,也可以用regex.replace()
      

  8.   

    谢谢各位。
    其实我现在的问题不是在查找方面,而是在找到之后怎么改。
    我以为可以轻松搞定的,谁知msdn里根本没有关于在文件内部修改的,全是append……
    难道真要重新生成一个文件?那我就考虑要不要用数据库了。
    继续征求此问题的解答。
      

  9.   

    你去找一下C#写的记事本程序吧,就是里面的查找与替换功能呀,主要是用indexof()和replace()方法