操作方法:查詢字串中的字元 (LINQ) (Visual Basic)
因為 String 類別會實作泛型 IEnumerable<T> 介面,所以可以用字元序列的形式查詢任何字串。 不過,這不是常見的 LINQ 用法。 對於複雜的模式比對作業,使用 Regex 類別。
範例
下列範例會查詢字串,以判斷它所包含的數字位數。 請注意,查詢會在第一次執行之後「重複使用」。 這可能是因為查詢本身不會儲存任何實際結果。
Class QueryAString
Shared Sub Main()
' A string is an IEnumerable data source.
Dim aString As String = "ABCDE99F-J74-12-89A"
' Select only those characters that are numbers
Dim stringQuery = From ch In aString
Where Char.IsDigit(ch)
Select ch
' Execute the query
For Each c As Char In stringQuery
Console.Write(c & " ")
Next
' Call the Count method on the existing query.
Dim count As Integer = stringQuery.Count()
Console.WriteLine(System.Environment.NewLine & "Count = " & count)
' Select all characters before the first '-'
Dim stringQuery2 = aString.TakeWhile(Function(c) c <> "-")
' Execute the second query
For Each ch In stringQuery2
Console.Write(ch)
Next
Console.WriteLine(System.Environment.NewLine & "Press any key to exit")
Console.ReadKey()
End Sub
End Class
' Output:
' 9 9 7 4 1 2 8 9
' Count = 8
' ABCDE99F
編譯程式碼
使用 System.Linq 命名空間的 Imports
陳述式建立 Visual Basic 主控台應用程式專案。