c# - 如何根据 C# 中的另一个字符串将字符添加到字符串中?
问题描述
我需要创建一个函数,它接收两个字符串,代表要完成的单词和参考词,以及与建议的字母对应的字符,并返回一个与要完成的单词对应的字符串,其中所有出现的相对于参考词,已添加建议的字母。
示例:CompleterMot (".. IM ..", "ANIMAL", 'A')
应该返回"A.IMA."
. 我不明白如何在将要完成的单词中添加所有出现的字母。
static string CompleterMot(string motincomplet, string motoriginal, char lettrepropos)
{
string output = " ";
for (int i = 0; i < motoriginal.Length; i++)
{
if((motoriginal[i] == lettrepropos))
{
output = motincomplet;
if(output[i] != lettrepropos)
output += (char)(lettrepropos);
}
}
return output;
}
最后我有..IM..A
,但我不知道如何修复我的代码。
解决方案
在您的循环中,您正在执行此操作:output = motincomplet;
这会覆盖先前的结果。然后将预期的字母附加到"..IM.." + 'A'
作为结果的输出中。
您可以使用StringBuilder
for 字符串操作,这非常好,并允许您直接更改给定索引处的字符:
static string CompleterMot(string motincomplet, string motoriginal, char lettrepropos)
{
var sb = new System.Text.StringBuilder(motincomplet);
for (int i = 0; i < motoriginal.Length; i++)
{
if (motoriginal[i] == lettrepropos)
{
sb[i] = lettrepropos;
}
}
return sb.ToString();
}
推荐阅读
- c# - 右移运算符在标志枚举中不起作用
- cron - 有人知道吗:repo1.criticalnumeric.tech
- python - 在执行路径中有空格的 VBA 中运行 Python
- python - 如何在 python 中为类对象的熊猫数据框添加列
- java - Android Studio Volley 本地连接失败
- javascript - 如何在 js 代码(nodejs 服务器)中获取 SCSS 变量?
- javascript - MongoDB 发出 POST 请求时返回空错误对象
- file-upload - 无法读取未定义的属性“getChildren”
- spring - 如何在 Spring 中从 AWS ECS 任务定义中读取环境变量?
- java - 双向链表在列表末尾返回 null