【问题标题】:asp.net vb replace string in string and make it boldasp.net vb 替换字符串中的字符串并使其变为粗体
【发布时间】:2013-03-11 03:19:03
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net regex vb.net replace


    【解决方案1】:

    你可以用这个:

    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

    【讨论】:

    • 谢谢!这正是我想要的!
    【解决方案2】:

    你好,这个函数怎么样:

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

    【讨论】:

    • 您的代码忽略了不同大小写的单词,Johan 想在保留原始大小写的同时替换这些单词。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 2014-04-11
    • 1970-01-01
    • 2022-11-17
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多