我怎么能从字符串中得到不只是匹配的大小写

本文关键字:大小写 怎么能 字符串 | 更新日期: 2023-09-27 17:59:57

这是我的代码:

public static void ColorListBox(List<string> data, DrawItemEventArgs e, string word)
        {
            int keywords = 0;
            string keyword = null;
            string url = data[e.Index].Substring(0, 5);
            if (data[e.Index].Contains(word))//"Local KeyWord:"))
            {
                keywords = data[e.Index].IndexOf(word);//"Local KeyWord:");
                keyword = data[e.Index].Substring(keywords, word.Length);
            }
            else
            {
                keywords = data[e.Index].IndexOf(word);//"Localy KeyWord:");
                keyword = data[e.Index].Substring(keywords, 15);
            }

当我调用这个函数时,Form1中的问题:

ColorText.ColorListBox(data, e);

我如何知道要添加哪些文本?ColorText.ColorListBox(data, e, "Local KeyWord");ColorText.ColorListBox(data, e, "Localy KeyWord");因为当我运行我的程序时,它是Localy KeyWord,但当我添加新的url时,它就是"Local KeyWord"

我需要在Form1中调用函数来覆盖所有选项。在添加变量单词之前,我使用了手动字符串"Local KeyWord"answers"Localy KeyWord",但现在我想做一些事情,我将作为单词输入的每个单词都将在函数中使用。

问题是当我运行程序时,变量数据中的字符串是"Localy KeyWord:"当我在程序运行时添加一个新的url时,数据中的字符串是"Local KeyWord:"

我怎么能从字符串中得到不只是匹配的大小写

由于这不仅仅是一个大小写比较,实际上是不同的单词,我会尽快消除这些差异:

private const string LocalKeyword = "Local Keyword";
private static readonly Dictionary<string, string> keywords = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
{
    { "Localy KeyWord:", LocalKeyword },
    { "Localy Keyword", LocalKeyword },
    { "Local Keyword:", LocalKeyword },
    { ... }
}
if (!keywords.TryGetValue(rawKeyword, out realKeyword))
{
    throw new ApplicationException("Unknown keyword or keyword alias!");
}
ColorText.ColorListBox(realKeyword, e)