我需要在用户输入后搜索文本框以查看是否出现任何特定缩写。
例如,我想查看用户是否输入了以下内容之一:-
".AB ", "AB." , " AB ", "/AB", ",AB"
请问最干净的方法是什么?
使用 LINQContains
扩展方法:
var abbreviations = new [] { ".AB ", "AB." , " AB ", "/AB", ",AB" };
return abbreviations.Contains(myTextBox.Text);
如果您希望搜索不区分大小写:
return abbreviations.Contains(myTextBox.Text.ToUpper());
也许你应该使用 String 的 Contains() 方法。例子:
string[] abbreviationsList = { ".AB ", "AB.", " AB ", "/AB", ",AB" };
foreach (string abbreviations in abbreviationsList)
{
if (myTextBox.Text.Contains(abbreviations))
{
// Your code here
}
}
当然,还有其他方法可以做到这一点,但我的意思是在 TextBox 的文本中使用 Contains()。
一个简单的方法是使用正则表达式:
if (Regex.IsMatch(yourTextBox.Text, @"((\.|,|\s)AB(\.|,|\s)"))) {
// do something
}
选择与您要检测的字符串匹配的正则表达式。