1

我正在寻找一个函数来替换字符串中的字符串,并且只将其设为粗体。我已经有了这个功能:

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 sit dolor ”。第二个“dolor”失去了资本,因为它被一个没有资本的人所取代。如何在字符串中保留大写字母?因此,例如“DoLoR”也仍然是那个,而不是“dolor”

4

2 回答 2

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替换为完整匹配。

另请参见此处

于 2013-03-21T14:52:40.387 回答
1

你好这个功能怎么样:

Private Function MakeBold(allstring As String, toFind As String) As String
    Return allstring.Replace(toFind, [String].Format("<strong>{0}</strong>", toFind))
  End Function
于 2013-03-21T14:43:14.817 回答