需要在比较两个字符串后显示更改的文本

时间:2011-02-04 11:06:57

标签: c# asp.net string

我有两个字符串:

1 string =“stackoverflow”

2 string =“stackoverflow很好”

我想要显示:“stackoverflow is good”。

“很好”应该用一些背景颜色突出显示..

如何使用c#?

2 个答案:

答案 0 :(得分:5)

首先格式化高亮颜色中的所有文本,然后搜索“stackoverflow”并将其格式化回正常格式。通过这种方式,您不必弄乱查找某些内容而是格式化其他内容的问题。

有关技术细节,我必须知道,您使用什么样的控件来显示文本(Textbox,Rtf,Html)。


static void Main(string[] args)
{
    string strComplete = "stackoverflow is good, I mean, stackoverflow is really good";
    string strSearch = "stackoverflow";
    Console.WriteLine(FormatString(strComplete, strSearch));
    Console.ReadKey();
}

private static string FormatString(string strComplete, string strSearch)
{
    string strSpannedSearch = string.Format("{0}{1}{2}", "", strSearch, "");
    return strComplete.Replace(strSearch, strSpannedSearch);            
}

答案 1 :(得分:1)

您可以尝试这些方面的内容

string s1 = "Hello";
string s2 = "Hello world";

s2=  s2.Replace(s1, "");
Bitmap bmap = new Bitmap(150, 25);
Graphics graphic = Graphics.FromImage(bmap);

graphic.DrawString(s1, new Font(FontFamily.GenericSerif, 8), new SolidBrush(Color.White), new PointF());
graphic.DrawString(s2, new Font(FontFamily.GenericSerif, 8), new SolidBrush(Color.Yellow), new PointF());
bmap.Save("myimage.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);