C# 如何从字符串中获取不只是匹配的案例?

C# 如何从字符串中获取不只是匹配的案例?,c#,C#,这是我的代码: 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

这是我的代码:

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);
            }
我如何知道要添加的文本<代码>ColorText.ColorListBox(数据,e,“本地关键字”)或
ColorText.ColorListBox(数据,e,“Localy关键字”)因为当我运行我的程序时,它是Localy关键字,但当我添加一个新的url时,它是“Local关键字”

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

问题是当我运行我的程序时,变量数据中的字符串是“Localy关键字:”
当我在程序运行时添加一个新的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)
private const string LocalKeyword=“LocalKeyword”;
私有静态只读字典关键字=新字典(StringComparer.OrdinalIgnoreCase)
{
{“Localy关键字:”,LocalKeyword},
{“Localy关键字”,LocalKeyword},
{“Local关键字:”,LocalKeyword},
{ ... }
}
if(!keywords.TryGetValue(rawKeyword,out realKeyword))
{
抛出新的ApplicationException(“未知关键字或关键字别名!”);
}
ColorText.ColorListBox(realKeyword,e)

将引用字符串的lowere大小写版本与lowere数据进行比较
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)