我需要在用户输入后搜索文本框,以查看是否有任何特定缩写的出现。
例如,我想看看用户是否输入了以下内容之一: -
".AB ", "AB." , " AB ", "/AB", ",AB"
最干净的方法是什么?
答案 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
}
选择与您要检测的字符串匹配的正则表达式。