0
点赞
收藏
分享

微信扫一扫

Asp.net实现文章内关键词替换

Regex reg = new Regex(textBox1.Text, RegexOptions.None);
textBox4.Text = reg.Replace(textBox3.Text, textBox2.Text); string content = textBox3.Text;
string content2 = content; List<string> keywordlist = new List<string>();
keywordlist.Add("网上订餐");
keywordlist.Add("订餐");
foreach (string keyword in keywordlist)
{
string lnkKeyword = "<a href=/"​​​http://www.doodii.com/​​​" target=/"_blank/">" + keyword + "</a>";
reg = new Regex(keyword, RegexOptions.Compiled | RegexOptions.IgnoreCase);
while (true)
{
Match m = reg.Match(content2);
if (m.Success)
{
int start = m.Index;
int length = keyword.Length;
content = content.Substring(0, start) + lnkKeyword + content.Substring(start + length);
content2 = content2.Substring(0, start) + new string('*', lnkKeyword.Length) + content2.Substring(start + length);
}
else
{
break;
}
}
} textBox4.Text = content ;

 

我们每次查找出后,就将临时变量content里的关键词替换成等长度的*,例如查找Asp.net,替换后就是

.Net中的*******

这样,等到下次循环到.Net这个关键词时.临时变量里就没有ASP.NET这个词了,也就不会有重复替换的问题了~

举报

相关推荐

0 条评论