我会做这样的事情。不确定它将如何影响格式(除非格式的 HTML)。
StringBuilder final = new StringBuilder();
foreach (string split in Label1.Text.Split(' '))
{
if (Regex.Match(split, "[a-zA-Z]+").Value.Equals("cigarettes", StringComparison.CurrentCultureIgnoreCase))
{
final.Append(@"<span style='color: red;'>");
final.Append(split);
final.Append(@"</span>");
}
else
{
final.Append(split);
}
final.Append(' ');
}
Label1.Text = final.ToString().Trim();
结果:
In an out of the box way to reduce number of cigarette consumption per day, Vineet, a Delhi University student has started smoking longer <span style='color: red;'>cigarettes.</span> <span style='color: red;'>Cigarettes</span> have a bad influence on health
更新:
抱歉,您不必执行正则表达式。我发现 CultureInfo 有一个 CompareInfo 属性,可以像忽略大小写 Contains() 方法一样工作:
static void Main(string[] args)
{
string yourstring = @"In an out of the box way to reduce number of cigarette consumption per day, Vineet, a Delhi University student has started smoking longer cigarettes. Cigarettes have a bad influence on health";
StringBuilder final = new StringBuilder();
CultureInfo culture = CultureInfo.CurrentCulture;
foreach (string split in yourstring.Split(' '))
{
if (culture.CompareInfo.IndexOf(split,"cigarette",CompareOptions.IgnoreCase)!=-1)
{
final.Append(@"<span style='color: red;'>");
final.Append(split);
final.Append(@"</span>");
}
else
{
final.Append(split);
}
final.Append(' ');
}
Label1.Text = final.ToString().Trim();
}
结果:
In an out of the box way to reduce number of <span style='color: red;'>cigarette</span> consumption per day, Vineet, a Delhi University student has started smoking longer <span style='color: red;'>cigarettes.</span> <span style='color: red;'>Cigarettes</span> have a bad influence on health
感谢您的尝试。这个解决方案的唯一问题是,它也
突出显示不在搜索字符串中的字母。自从我
暂时有一个带有索引的解决方案。
显然这就是你想要的:
Label1.Text = Regex.Replace(Label1.Text, @"(cigarette)", @"<span style='color: red;'>$1</span>", RegexOptions.IgnoreCase);
输出是:
In an out of the box way to reduce number of <span style='color: red;'>cigarette</span> consumption per day, Vineet, a Delhi University student has started smoking longer <span style='color: red;'>cigarette</span>s. <span style='color: red;'>Cigarette</span>s have a bad influence on health