我有一个MVC应用程序,其中有一个字符串,该字符串是使用C#代码从视图模型动态创建的,其中某些单词需要用粗体标记。例如,如果从C#代码创建的字符串是“ This is a test”,那么当它从视图模型传递到cshtml视图并显示在屏幕上时,我希望将单词“ test”显示为粗体,我尝试了Regex .replace,它帮助我用粗体标签包裹了文本,但是之后,我在屏幕上看到的是带有标签的纯文本“这是 test ,而我希望它是-'这是测试”。我尝试了Regex.replace,但是没有用。有人可以建议在这种情况下应该怎么做吗?下面是我的代码:
content = System.Text.RegularExpressions.Regex.Replace(content, wordToHighlight, "<b>" + wordToHighlight + "</b>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
答案 0 :(得分:2)
在您的情况下:
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
String term = "test";
String input = "This is a test";
String result = Regex.Replace( input, String.Join("|", term.Split(' ')), @"<b>$&</b>");
Console.Out.WriteLine(result);
}
}
将给您:This is a <b>test</b>
为了在视图中显示此字符串,请使用:
@Html.Raw(result)
它将显示您的字符串为:这是一个测试