我有一个RichTextBox文本和单词列表(单词表) - 我使用的WinForms。
我需要做的是所有的都在词表的话出现在加粗的文字。
例如:
文字:“我有一个文本,我需要把一些词在大胆”
在列表中的词: "need"; "some"; "bold"
"need"; "some"; "bold"
结果是:“我有一个文本,我需要把一些词在大胆 ”
我想这(我在这里看到的计算器类似的帖子)
text= "" + text+ "";
foreach (var word in wordList)
{
string w = string.Format(" {0} ", word);
if (text.Contains(w))
{
while (text.Contains(w))
{
text= text.Replace(w, "<b>"+w+"</b>");
}
}
}
text = text.Trim();
我怎么能说字W需要在大胆?
编辑:
我想这个解决方案
public string MakeBold(string text, string[] splitwords)
{
var sb = new StringBuilder();
var words = text.Split(' ');
sb.Append(@"{\rtf1\ansi ");
foreach (var word in words)
{
if (splitwords.Contains(word))
{
sb.Append(@"\b" + word + @"\b0");
}
else
{
sb.Append(word);
sb.Append(@" ");
}
}
sb.Append(@"}");
return sb.ToString();
}
其结果是在RichTextBox的
{\rtf1\ansiI have a text and I \bneed\b0to put \bsome\b0words in \bbold\b0}
任何想法,为什么?