当前位置:编程学习 > C#/ASP.NET >>

字符替换问题

字符替换问题

问题1 :要将一个字符串“abcdecf”的第三个字符转换成x,也就是将字符串 “abcdecf”转换成 字符串 “abxdecf”要怎么搞


问题2 :要将一个字符串 “ad-cd-ef”中的第二个‘ - ’转换成* ,也就是将字符串 “ad-cd-ef”转换成 字符串 “ad-cd*ef”要怎么搞 --------------------编程问答-------------------- string a =  "abcdecf";
string b = a.Remove(2,1);
string c = b.Insert(2,"x");

第一个c为你所要 --------------------编程问答-------------------- 问题2参考问题1
期待更好的办法 --------------------编程问答-------------------- 用replace()方法 --------------------编程问答-------------------- 楼上的 麻烦你用replace()把上述要求实现看看 --------------------编程问答-------------------- //replace很难实现
//它是替换全部匹配的字符
//而且不能指定开始位置

            string s = "ab-cd-ef";
            int i = s.IndexOf("-", s.IndexOf("-") + 1);
            if (i >= 0)
            {
                s = s.Remove(i, 1);
                s = s.Insert(i, "*");
            }
            Text = s; --------------------编程问答-------------------- sbqcel(在一棵树上吊死的猪!) 正解 --------------------编程问答-------------------- a.Remove(3,1).Insert(3,"x"); --------------------编程问答--------------------             string num = "abcdecf";
            char[] num2 = num.ToCharArray();
            num2[2] = 'x';
            Console.WriteLine(num2);
            Console.ReadKey(); --------------------编程问答--------------------             string num = "ad-cd-ef";
            char[] num2 = num.ToCharArray();
            num2[2] = '*';
            Console.WriteLine(num2);
            Console.ReadKey(); --------------------编程问答--------------------           
上面那个索引位置错了:
正解:
            string num = "ad-cd-ef";
            char[] num2 = num.ToCharArray();
            num2[5] = '*';
            Console.WriteLine(num2);
            Console.ReadKey(); --------------------编程问答--------------------
string tempStr = "abcdecf";
            tempStr = Regex.Replace(tempStr, @"(?<=^.{2}).", "x");//abxdecf
            tempStr = "ad-cd-ef";
            tempStr = Regex.Replace(tempStr, @"-(?=[^-]*?$)", "*");//ad-cd*ef
--------------------编程问答-------------------- 楼上很好,建议用正则,不要用string.replace  不靠谱那东西。 regex很靠谱。 --------------------编程问答-------------------- 楼上很好,建议用正则,不要用string.replace  不靠谱那东西。 regex很靠谱。 --------------------编程问答--------------------

            string s = "abcdecf";
            fixed (char* p = s)
                p[2] = 'x';
            Console.WriteLine(s);

用这种方法要小心,假如有其他字符串以常量"abcdecf"赋值,那么其他字符串也会被同时修改。 --------------------编程问答--------------------

            string s = "abcdecf";
            char[] chars = s.ToCharArray();
            chars[2] = 'x';
            s = new string(chars);
            Console.WriteLine(s);

这样的方法是安全的。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,