日期:2014-05-17  浏览次数:20479 次

后台字符串截取问题
在后台cs代码中,我得到一个字符串如:1、程序员啊程序员、好苦逼啊、好苦逼。
想把第一个、替换成 、已
也就是变成:1、已程序员啊程序员、好苦逼啊、好苦逼。
在后台怎么处理呢?之替换第一个、哦。

------解决方案--------------------
C# code
string s = "1、程序员啊程序员、好苦逼啊、好苦逼。"
string result = string.Join("、", s.Split('、').Select((x, i) => i == 1 ? "已" + x " x).ToArray());

------解决方案--------------------
好,我给个正则的吧
C# code
        string s = "1、程序员啊程序员、好苦逼啊、好苦逼。";
        Regex regex = new Regex(@"、");
        string r = regex.Replace(s, "$0已", 1);
        Response.Write(r);

------解决方案--------------------
string s = "1、程序员啊程序员、好苦逼啊、好苦逼。";
s=s.Insert(s.IndexOf('、')+1, "己");
------解决方案--------------------
C# code
string s = "1、程序员啊程序员、好苦逼啊、好苦逼。2、哈哈哈。3、呵呵呵";
        Regex regex = new Regex(@"\d+、");
        string r = regex.Replace(s, "$0已");
        Response.Write(r);

------解决方案--------------------
string s = "1、程序员啊程序员、好苦逼啊、好苦逼。"
string result = string.Join("、", s.Split('、').Select((x, i) => i == 1 ? "已" + x : x).ToArray());
------解决方案--------------------
C# code
        string s = "1、程序员啊程序员5、好苦逼啊6、好苦逼。2、已哈哈哈、7哈哈。3、已呵呵呵、呵呵";
        Regex regex = new Regex(@"\d+、");
        string r = regex.Replace(s, "$0已", 1);
        Response.Write(r);

------解决方案--------------------
C# code
        string s = "1、程序员啊程序员5、好苦逼啊6、好苦逼。2、哈哈哈、7哈哈。3、呵呵呵、呵呵";
        int temp = 0;
        string r = Regex.Replace(s, @"(\d+)、", delegate(Match match)
        {
            string result = match.Value;
            int index = int.Parse(match.Groups[1].Value);
            if (index == temp + 1)
            {
                result = match.Groups[0].Value + "已";
                temp++;
            }
            return result;
        });
        Response.Write(r);