c#搜索字符串值以获取缩写的变体

时间:2012-08-07 14:59:25

标签: c# winforms string

我需要在用户输入后搜索文本框,以查看是否有任何特定缩写的出现。

例如,我想看看用户是否输入了以下内容之一: -

".AB ", "AB." , " AB ", "/AB", ",AB"

最干净的方法是什么?

3 个答案:

答案 0 :(得分:3)

使用LINQ Contains扩展方法:

var abbreviations = new [] { ".AB ", "AB." , " AB ", "/AB", ",AB" };

return abbreviations.Contains(myTextBox.Text);

如果您希望搜索不区分大小写:

return abbreviations.Contains(myTextBox.Text.ToUpper());

答案 1 :(得分:1)

也许你应该使用String的Contains()方法。例如:

string[] abbreviationsList = { ".AB ", "AB.", " AB ", "/AB", ",AB" };
        foreach (string abbreviations in abbreviationsList)
        {
            if (myTextBox.Text.Contains(abbreviations))
            {
                // Your code here
            }
        }

当然,还有其他方法可以做到这一点,但我的观点是在TextBox的Text中使用Contains()。

答案 2 :(得分:1)

一种简单的方法是使用正则表达式:

if (Regex.IsMatch(yourTextBox.Text, @"((\.|,|\s)AB(\.|,|\s)"))) {
    // do something
}

选择与您要检测的字符串匹配的正则表达式。