1

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

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

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

请问最干净的方法是什么?

4

3 回答 3

3

使用 LINQContains扩展方法:

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

return abbreviations.Contains(myTextBox.Text);

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

return abbreviations.Contains(myTextBox.Text.ToUpper());
于 2012-08-07T15:04:08.947 回答
1

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

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

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

于 2012-08-07T15:04:49.370 回答
1

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

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

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

于 2012-08-07T15:05:08.933 回答