很简单。迭代List中的所有字符串,然后检查myString
是否包含该字符串。如果是,则更换它。
foreach (string item in lst)
{
if (myString.Contains(item))
{
myString = myString.Replace(item, string.Format("$${0}$$", item));
}
}
你也可以使用LINQ做相同的:用空格
lst.Where(item=> myString.Contains(item)).ToList()
.ForEach(item => myString = myString.Replace(item, string.Format("$${0}$$", item)));
您也可以分割字符串,并检查他们的存在列表与否:
myString.Split(' ').ToList()
.Where(x => lst.Contains(x)).ToList()
.ForEach(item => myString = myString.Replace(item, string.Format("$${0}$$", item)));
案例insensivity:
变化Contains(x)
到Contains(x, StringComparer.OrdinalIgnoreCase)
。
例如第三种方法:
myString.Split(' ').ToList()
.Where(x => lst.Contains(x, StringComparer.OrdinalIgnoreCase)).ToList()
.ForEach(item => myString = myString.Replace(item, string.Format("$${0}$$", item)));
敢我问...你尝试过什么? –
@Bergkamp,不要在评论中发布更多的细节,而是编辑你的问题。 –
你甚至没有seacrh,没有找到string.Contains()方法? – apomene