asp.net vb替换字符串中的字符串并使其变为粗体

时间:2013-03-21 14:37:05

标签: asp.net regex vb.net replace

我正在寻找一个函数来替换字符串中的字符串并仅使其变为粗体。我已经有了这个功能:

Function MakeBold(ByVal input As String, ByVal find As String) As String
    Return Regex.Replace(input, find, "<strong>" + find + "</strong>", RegexOptions.IgnoreCase)
End Function

这有效,但它删除了字符串的大写。例如,如果我用字符串“Lorem ipsum dolor sit Dolor”和替换部分为“dolor”运行它,它将返回“Lorem ipsum dolor dolor ”。第二个“dolor”失去了它的资本,因为它被一个没有资本的人所取代。我如何在我的字符串中保留大写字母?所以例如“DoLoR”也将是那个而不是“dolor”

2 个答案:

答案 0 :(得分:3)

您可以使用:

Function MakeBold(ByVal input As String, ByVal find As String) As String
    Return Regex.Replace(input, find, "<strong>$0</strong>", RegexOptions.IgnoreCase)
End Function

替换模式中的$0将使用完全匹配进行替换。

另见here

答案 1 :(得分:1)

你好,这个函数怎么样:

Private Function MakeBold(allstring As String, toFind As String) As String
    Return allstring.Replace(toFind, [String].Format("<strong>{0}</strong>", toFind))
  End Function