比如有1.text
里面的内容有很多字符。
字符中有很多  "$名称" 
怎样有效的把 它们都读出来。
然后有效的替换掉现成的放回去。什么方法最快呀?
以前做的一个是逐行查找。觉得方法不拓。

解决方案 »

  1.   

    得看你的文件有多大,如果在1M以内直接载入为字符串替换后再保存回去。
    using System.IO;string str;
    using (StreamReader vStreamReader = new StreamReader(
        @"c:\temp\temp.txt", Encoding.Default))
        str = vStreamReader.ReadToEnd();
    str = str.Replace("$名称", "路过");using (StreamWriter vStreamWriter = new StreamWriter(
        @"c:\temp\temp.txt", false, Encoding.Default))
        vStreamWriter.Write(str);
    如何是大文件再议...
      

  2.   

    dsafasefwefs"$a"bngwfsdfsefef"$b"sdfwefaef"$c"sdf1如何用正则得字符串或数组
    $a"$b"$c"2字符替换
    $a"$b"$c"$d"$e"$f"3结果
    dsafasefwefs"$d"bngwfsdfsefef"$e"sdfwefaef"$f"sdf
    怎么有效的实现?
      

  3.   

    1如何用正则得字符串或数组 
    $a"$b"$c" 或者其他办法!
      

  4.   

    傻瓜方法,一个一个替换。
    str = str.Replace("\"$a\"", "\"$d\"");
    str = str.Replace("\"$b\"", "\"$e\"");
    str = str.Replace("\"$c\"", "\"$f\"");
      

  5.   

    问个正则
    平常匹配数字 @"\d+"
    那 "$中文12AB"  这个怎么表示?
    @"^[\"$\u4e00-\u9fa5A-Za-z\"]"  这个?
      

  6.   

    string s = "dsafasefwefs\"$a\"bngwfsdfsefef\"$b\"sdfwefaef\"$c\"sdf\"$汉字\"";
    foreach (System.Text.RegularExpressions.Match match in
        System.Text.RegularExpressions.Regex.Matches(s, @"""\$(\w+)"""))
    {
        Console.WriteLine(match.Value);
        Console.WriteLine(match.Result("$1"));
    }