字符替换问题
字符替换问题问题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";--------------------编程问答-------------------- 楼上很好,建议用正则,不要用string.replace 不靠谱那东西。 regex很靠谱。 --------------------编程问答-------------------- 楼上很好,建议用正则,不要用string.replace 不靠谱那东西。 regex很靠谱。 --------------------编程问答--------------------
tempStr = Regex.Replace(tempStr, @"(?<=^.{2}).", "x");//abxdecf
tempStr = "ad-cd-ef";
tempStr = Regex.Replace(tempStr, @"-(?=[^-]*?$)", "*");//ad-cd*ef
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#