2011-06-02 79 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

相關問題