c#字符串替换指定位置的字符(探索ing)

突然来的启发,哈哈
非正常思路替换。原理差不多。
下面开始
ps:发现加了注释有些暗,然后俺把"//"去掉了

string test = "6a6a8a9a";

如以上"6a6a8a9a",我只需要替换第一个"6a"成"66",用string自带的replace是没用的(会把第二个6a也替换掉),用StringBuilder的replace也是没用(这个StringBuilder的替换只能单个字符进行替换)。

这边说下我的思路。首先用Remove(),
这是Remove()的说明,我感觉都能猜到用完Remove()后用什么了,哈哈

Remove(int startIndex, int count);

参数: 
startIndex:
开始删除字符的从零开始的位置。
count:
要删除的字符数。


"test"使用Remove()

test.Remove(0, 2);
因为我要替换第一个"6a"嘛,所以第一个参数为0,而"6a"是两字符,
所以第二个参数是2.这能理解吧!

用完Remove(0, 2)后成"6a8a9a",然后咱再用Insert(),看到这个应该更清楚了吧。

Insert()的说明

Insert(int startIndex, string value)

参数:
startIndex:
插入的从零开始的索引位置。
value:
要插入的字符串。

我感觉不用我说,都明白了QWQ

"test"用Insert()

test.Insert(0, "66");

第一个参数为0,因前面Remove()是从0开始的,所以这里也为0
第二个参数是要替换成的字符,这个不用多说吧!

用Insert(0, “66”)就成了"666a8a9a",看就实现替换了,嘿嘿
整个过程就是这样的。

string test = "6a6a8a9a";
test = test.Remove(0, 2);
Console.WriteLine("Remove后:" + test);
test = test.Insert(0, "66");
Console.WriteLine("Insert后:" + test);

输出结果为
在这里插入图片描述

OK,就是这样,是不是感觉好容易,哈哈。如果有其他方便的思路评论区评论一下呗,或者来个链接啥的,互相交流嘛。哦,对了,如文章有啥问题或不懂的地方麻烦评论一下或者私信告诉我,谢谢了。






最后,感谢你能阅读我的文章,感恩!

posted @ 2022-09-14 22:05  晓星晨曦  阅读(3976)  评论(0编辑  收藏  举报