如何把一段文本中类似的“表1-2-17”都替换成“表1.2.17”.....得到光a=-2-8标标在中位置,我们(1-2-0)移动图  1-2-0光标位置时在(3-2-8)的任务栏,我表1-2-17们可(2)以看到,第()3几(1-2-0)行,表1-6-17那么这个值能程序表1-2-17的方法取得吗......表1-2-26......替换结果应该为:.....得到光a=-2-8标标在中位置,我们(1-2-0)移动图  1-2-0光标位置时在(3-2-8)的任务栏,我表1.2.17们可(2)以看到,第()3几(1-2-0)行,表1.6.17那么这个值能程序表1-2-17的方法取得吗......表1.2.26......

解决方案 »

  1.   

     直接替换
     string tempStr = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("GB2312"));
                tempStr = tempStr.Replace("表1-2-17", "表1.2.17");
      

  2.   

                string str1 = "表1-2-17";
                Regex regexX = new Regex(@"表\d+-\d+-\d+");
                if(regexX.IsMatch(str1))
                {
                    Console.WriteLine(str1.Replace('-', '.'));
                }
      

  3.   


    void Main()
    {
    string str=".....得到光a=-2-8标标在中位置,我们(1-2-0)移动图 1-2-0光标位置时在(3-2-8)的任务栏,我表1-2-17们可(2)以看到,第()3几(1-2-0)行,表1-6-17那么这个值能程序表1-2-17的方法取得吗......表1-2-26......";
    str=Regex.Replace(str,@"(?<=表)\d+-\d+-\d+",m=>m.Value.Replace("-","."));
    Console.WriteLine(str);
    //.....得到光a=-2-8标标在中位置,我们(1-2-0)移动图 1-2-0光标位置时在(3-2-8)的任务栏,我表1.2.17们可(2)以看到,第()3几(1-2-0)行,表1.6.17那么这个值能程序表1.2.17的方法取得吗......表1.2.26......
    }