C# 如何替换搜索结果?

来源:百度知道 编辑:UC知道 时间:2024/06/08 12:53:02
一般来说,对搜索结果的字符串中某一个关键字进行替换,比如说关键字显示红色,就是加入HTML代码。现在遇到的问题是有多个关键字,该如何处理?如果用循环替换,那关键字中比如有 < font color >等字符,那么在替换的处理中就会出错。所有求助各位!写个方法:
public string ReHtml(string oldString,string[] topStr,string color)
{
//oldString:将要替换的原字符串
//topStr:将要替换的关键字数组
//color:替换关键字的颜色

……
}

麻烦知道的帮帮忙!谢谢!!!

TextBox1.Text = TextBox1.Text.Replace(TextBox2.Text, TextBox3.Text);
倒过来就可以了。
string message = "AAAAAAABBBAAAAAAAA";
string keys = @"BBB";
Regex re = new Regex(keys, RegexOptions.Compiled);
MatchCollection mc = re.Matches(message);

string newString = oldString;
foreach(string s in topStr)
{
if(newString.IndexOf(s) != -1)
newString = newString.Replace(s, "<font color='" + color + "'>" + s + "</font>");
}
我想楼主的意思是这个吧?

我也想过用正则表达式的,不过貌似不行,只想到一个最不效率的办法,不过总比没办法强哈,
string color = "red";
string oldString = "abcdefontbc";
string[] topStr ={"bc","font"};
int nkey1 = 0; //关键字在字符串中的位置
int nkey2 = 0;
int nIndex =0; //游标
string keyString = "";
string newString = "";