我正在寻找一个函数来替换字符串中的字符串并仅使其变为粗体。我已经有了这个功能:
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”
答案 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