首页 > 解决方案 > c#如何用多个字符替换一个字符

问题描述

我正在为我的考试做一些例子,我发现用其他字符串替换字符串有问题。我知道如何将字符串中的一个字符替换为其他字符或还原字符串。

我们有一个字符串

 s="*****\n***\n****"

我们需要用“asd”替换所有“*”,它应该是这样的

s="asdas\ndas\ndasd"

标签: c#stringreplacecharacter

解决方案


这听起来确实像一个家庭作业,我们避免提供完整的代码。自己编写代码对您来说非常重要。但这归结为

遍历字符串,直到用完 '*' 字符:

  1. 将第一个“*”替换为“a”。
  2. 将第一个“*”替换为“s”。
  3. 将第一个 '*' 替换为 'd'
  4. 1点重启

使用字符串需要注意一件重要的事情:字符串是不可变的。您不能修改字符串,只能创建具有不同值的字符串。每次替换都会在内存中创建一个新的死字符串。对于这个范围,它无关紧要,但对于更大的范围,它可能。考虑更改 Char[] 或 StringBuilder 而不是原始字符串,重新创建字符串。


推荐阅读