,可以通过以下步骤实现:
下面是一个示例代码,演示了如何实现上述步骤:
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
string mainString = "This is a [name] and it is [age] years old.";
Dictionary<string, string> keywordMap = new Dictionary<string, string>();
keywordMap.Add("[name]", "John");
keywordMap.Add("[age]", "25");
string result = InsertKeywords(mainString, keywordMap);
Console.WriteLine(result);
}
public static string InsertKeywords(string mainString, Dictionary<string, string> keywordMap)
{
foreach (var entry in keywordMap)
{
string keyword = entry.Key;
string value = entry.Value;
int index = mainString.IndexOf(keyword);
while (index != -1)
{
mainString = mainString.Insert(index, value);
index = mainString.IndexOf(keyword, index + value.Length);
}
}
return mainString;
}
}
在上述示例代码中,我们首先定义了一个主字符串 mainString
和一个映射关系 keywordMap
。然后,调用 InsertKeywords
方法,将主字符串和映射关系作为参数传入。
InsertKeywords
方法遍历映射关系中的每个关键字,然后在主字符串中查找该关键字的位置,并将对应的字符串值插入到主字符串中。最后,返回插入完成后的主字符串。
对于这个示例,主字符串是 "This is a [name] and it is [age] years old.",映射关系是 [name]
对应的值是 "John",[age]
对应的值是 "25"。运行示例代码后,输出结果为 "This is a John and it is 25 years old."。
这个方法可以用于动态替换主字符串中的关键字,常见的应用场景包括邮件模板、短信模板、动态生成报告等。
领取专属 10元无门槛券
手把手带您无忧上云