我有一个字符串,我需要用<b>包围特定的单词使其变为粗体,以便在呈现该文本时必须将其变为粗体。

例如
    字串=“ a1c”
    String myString =“过敏类型a1c应该写为A1C。”

我可以执行以下操作:

String1.Replace(word,"<b>"+word+"<b>")


但无论原始单词的大小写如何,它都会将所有A1c单词更改为“ a1c”。

"The allergy type <b>a1c<b> should be written <b>A1C<b>."


我怎么做而不改变大小写,以便我可以得到输出

我知道我们可以使用循环和索引来做到这一点,但是我想知道利用诸如RegEx或Linq之类的高级术语或任何小型内置机制的最佳方法。

最佳答案

您可以通过单个Regex.Replace调用来执行此操作,如下所示:

var result = Regex.Replace(
    "The allergy type a1c should be written A1C.", // input
    @"a1c",                                        // word to match
    @"<b>$0</b>",                                  // "wrap match in bold tags"
    RegexOptions.IgnoreCase);                      // ignore case when matching

07-27 13:40