нужно показать измененный текст после сравнения двух строк - PullRequest
4 голосов
/ 04 февраля 2011

У меня есть две строки:

1 строка = "stackoverflow"

2 строка = "stackoverflow хорош"

Я хочу показать: "stackoverflow is good".

" хорошо "следует выделить фоновым цветом.

как это можно сделать с помощью c #?

Ответы [ 2 ]

5 голосов
/ 04 февраля 2011

Сначала отформатируйте весь текст в выделенном цвете, затем найдите «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 голос
/ 04 февраля 2011

Вы можете попробовать что-то на этих линиях

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...