假如有一个字符串“你好,你好,你好”,现在我想要把其中的“你好”转为“他好”,但是只转第一个,也就是说转换后的字符串应该是“他好,你好,你好”,请问如果我用.NET的正则表达式来做的话那应该怎么做呢?.NET中好像我找不到像JS一样不加g参数就不是全局查找的
以下的代码我试过行不通!!!        var str = "你好!你好!你好";
        str = Regex.Replace(str, "你好", "他好", RegexOptions.RightToLeft);
        Response.Write(str);

解决方案 »

  1.   

    string str = "你好!你好!你好";
    Regex r = new Regex("你好");
    int length = r.Match(str).Groups[0].Length;
    str = "他好" + str.Substring(length);
      

  2.   

    string str = "你好!你好!你好";
            str = Regex.Replace(str, "你好", "他好");
            Response.Write(str);
      

  3.   

    string str = "你好!你好!你好";
    Regex re = new Regex("你好");
    str = re.Replace(str, "他好", 1);
    Console.WriteLine(str);
      

  4.   

    多谢。这招可以用        string str = "你好!你好!你好";
            Regex re = new Regex("你好");
            str = re.Replace(str, "他好",1);
            Response.Write(str);