将输入的字符串中的no全部换成yes,c#中有一个string.Replace()方法,大家自己写个方法代替这个方法,高手展示一下

解决方案 »

  1.   

    既然已经有了Replace方法 干嘛要自己在写一个?
      

  2.   

    可以看看这篇文章 http://www.cnblogs.com/xiaotie/archive/2005/08/15/215258.html
      

  3.   

    反编译微软的replace然后自己去写一个咯,不过觉得没必要
      

  4.   

    参考如下代码:
    public string RelpaceString(string AString, string AOldSub, string ANewStr)
    {
        if (string.IsNullOrEmpty(AString) || string.IsNullOrEmpty(AOldSub)) 
            return AString; // 空串检查
        StringBuilder vResult = new StringBuilder();
        int j = 0; // 搜索起始位置
        int i = AString.IndexOf(AOldSub); // 子串所在位置
        while (i >= 0)
        {
            vResult.Append(AString.Substring(j, i - j)); // 添加搜索位置前的子串
            vResult.Append(ANewStr); // 添加新串
            j = i + AOldSub.Length; // 重新定位搜索起始位置
            i = AString.IndexOf(AOldSub, j); // 继续搜索
        }
        vResult.Append(AString.Substring(j, AString.Length - j)); // 添加搜索位置后的子串
        return vResult.ToString();
    }
    private void button1_Click(object sender, EventArgs e)
    {
        Console.WriteLine(RelpaceString("01old2old3old4old567old89", "old", ""));
        //0123456789    Console.WriteLine(RelpaceString("01old2old3old4old567old89", "old", "new"));
        //01new2new3new4new567new89
    }
    C#中不要再提“函数”这个词。函数是独立于类存在的,C#已不存在这样的声明,统一叫“方法”。
    有标方法就用标准方法,不要自己写(不容易维护)。
    研究算法另说。参考如上代码。