我正在为我的考试做一些例子,我发现用其他字符串替换字符串时出现问题。我知道如何将字符串中的一个字符替换为其他字符或恢复字符串。
我们有一个字符串
s="*****\n***\n****"
我们需要用“asd”替换所有的“*”,它应该是这样的
s="asdas\ndas\ndasd"
最佳答案
一种可能的方法是编写一个 for 循环并检查字符是否为 *
并使用计数器跟踪已经完成了多少次替换。
使用模 %
来查看您需要替换哪个字符并使用 StringBuilder添加字符。
例如
string s="*****\n***\n****";
StringBuilder sb = new StringBuilder();
string subj = "asd";
int counter = 0;
for (int i = 0; i < s.Length; i++) {
if (s[i] == '*') {
sb.Append(subj[counter % subj.Length]);
counter++;
continue;
}
sb.Append(s[i]);
}
Console.WriteLine(sb.ToString());
结果
asdas
das
dasd
关于c# - 如何用多个字符替换一个字符c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57337546/