2011-06-02 77 views
0

我知道有一个方法包含(),它看起来像这样:有没有包含的方法?

Dim arr() as string = {"apple","banana","orange"} 
For each fruit in arr 
If fruit.contains("app") Then 
    Return True 
End If 
Next 

,因为“苹果”包含字母“a”,它将返回true。这不是我想要的。我希望它只有在“apple”包含整个单词“app”时才会返回true。有没有任何方法或功能来做到这一点?

+5

不,它不。它返回true,因为它匹配单词“app”。如果它匹配字母“a”,那么对于“香蕉”它也会返回true。它不会。因为上帝是这样做的。 – 2011-06-02 12:32:26

+1

您正在被String.Contains(Char)方法困惑。它是由System.Linq提供的扩展方法。你实际上使用String.Contains(String)。 – 2011-06-02 13:13:29

回答

2

“苹果皮”实际上包含整个单词“应用程序”,因此载有()仍然是可能是你最好的选择。

从MSDN:

String.Contains方法返回 值表示是否这 串内发生指定 字符串对象。

以下是带样品的链接。
http://msdn.microsoft.com/en-us/library/dy85x1sa.aspx

1

您可以使用:

If fruit.IndexOf("app") <> -1 Then 
    Return True 
End If 
+0

这不是一个错误的答案,但严重包含使用更简单,意图更清晰。尽管科博尔德似乎这么认为,但包含并没有被破坏。 – 2011-06-02 12:41:20

+0

@ Meta-Knight:正确的,Contains方法的文档确切地说明了Cobold想要的东西。 – Ankur 2011-06-02 12:55:49

相关问题