gpt4 book ai didi

c# - 在 WPF 的富文本框中突出显示关键字

转载 作者:行者123 更新时间:2023-11-30 19:01:30 25 4
gpt4 key购买 nike

<分区>

我正在制作一个程序,它需要查看一段文本并找出某个关键字出现了多少次。它还必须在文本中突出显示这些关键词中的每一个。

我已经设法让他的界面现在可以跟踪单词出现的次数,但我真的不知道如何突出显示关键字出现的位置。我将在下面发布我的代码,非常感谢任何有关如何在 richtextbox 中搜索和突出显示文本的帮助。由于这是在 WPF 中,显然 richtextbox.find() 不可用。

class TextAnalyser
{
public int FindNumberOfOccurances(List<string> keywords, string email)
{
int occurances = 0;
foreach (string keyword in keywords)
{
occurances += email.ToUpper().Split(new string[] { keyword.ToUpper() }, StringSplitOptions.None).Count() - 1;
}
return occurances;
}

public void TurnTextRed(List<string> keywords, string email, RichTextBox TextBox)
{
foreach(string keyword in keywords)
{
}
}

public List<string> ConvertTextToList(string text)
{
char[] splitChars = {};
string[] ArrayText = text.Split( splitChars, StringSplitOptions.RemoveEmptyEntries);
return ArrayText.ToList<string>();
}

public string GetStringFromTextBox(RichTextBox TextBox)
{
var textRange = new TextRange(
TextBox.Document.ContentStart,
TextBox.Document.ContentEnd
);
return textRange.Text;
}
}

这是我的主窗口

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void AnalyseButton_Click(object sender, RoutedEventArgs e)
{
var textTool = new TextAnalyser();
var keyWords = textTool.ConvertTextToList(textTool.GetStringFromTextBox(WordTextBox).Trim());
var email = textTool.GetStringFromTextBox(EmailTextBox).Trim();
int usesOfWord = textTool.FindNumberOfOccurances(keyWords, email);
Occurances.Text = usesOfWord.ToString();
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com