LINQ方法:
Dim fruits As New List(Of String) From { "apple", "orange", "pear", "banana" }
Dim input As String = "a,p,l,e,r"
Dim letters As String = input.Replace(",", "")
Dim result = fruits.Where(Function(fruit) Not fruit.Except(letters).Any())
正则表达式的方法:
一个正则表达式匹配的结果将类似于这样的:
"^[apler]+$"
这可以建立起来的:
Dim fruits As New List(Of String) From { "apple", "orange", "pear", "banana" }
Dim input As String = "n,a,b,r,o,n,g,e"
Dim letters As String = input.Replace(",", "")
Dim pattern As String = "^[" + letters + "]+$"
Dim query = fruits.Where(Function(fruit) Regex.IsMatch(fruit, pattern))
为什么苹果和梨出现而不是其他? – Flash 2011-06-07 12:42:28
输入字符的顺序是否相关?例如。 'a,p,l'与'apple'匹配,但'p,l,a'不?并且:在你的例子中,梨应该真的匹配吗?因为你的角色列表中有一个'l'。 – 2011-06-07 12:45:29
因为用户没有输入o,n,g代表桔子,b代表香蕉,n代表香蕉。这个想法是显示所有字,已输入的字符。 – Cobold 2011-06-07 12:45:57