如何用超链接替换单词?

时间:2019-06-25 12:43:25

标签: c# regex asp.net-mvc c#-4.0 regex-group

从一个例子开始,我有一些像

这样的关键字。
  

Narendra Modi,印度的Modi,演讲,议会

我有一个带有文字的故事

  

纳伦德拉·莫迪(Narendra Modi)将在印度议会上发表演讲。

现在,我希望我的正则表达式用故事中的超链接替换关键字。

  

<a>Narendra Modi</a> will give speech in the <a>parliament</a> of <a>India.</a>

为此,我的代码是

var tagArray = bodykeywords.Split(',').ToList();
foreach (var tag in tagArray.OrderBy(a => a.Length))
{
    var replaceTag = tag.Replace("(", "");
    replaceTag = replaceTag.Replace(")", "");
    DataDesc = Regex.Replace(DataDesc, "\"" + replaceTag.Trim() + "\"", " <a href=\"/news?tag=" + replaceTag.Trim() + "\">\"" + replaceTag.Trim() + "\"</a> ");
    DataDesc = Regex.Replace(DataDesc, " " + replaceTag.Trim() + ", ", " <a href=\"/news?tag=" + replaceTag.Trim() + "\">" + replaceTag.Trim() + "</a>, ");
    DataDesc = Regex.Replace(DataDesc, " " + replaceTag.Trim() + " ", " <a href=\"/news?tag=" + replaceTag.Trim() + "\">" + replaceTag.Trim() + "</a> ");

}

问题是,在给定的示例中,我无法用句号(如印度)来替换单词,而在关键字中却将诸如Narendra Modi,Modi之类的单词与重复单词替换。

0 个答案:

没有答案