Como consultar caracteres em uma cadeia de caracteres (LINQ) (Visual Basic)
Como a String classe implementa a interface genérica IEnumerable<T> , qualquer cadeia de caracteres pode ser consultada como uma sequência de caracteres. No entanto, este não é um uso comum do LINQ. Para operações complexas de correspondência de padrões, use a Regex classe.
Exemplo
O exemplo a seguir consulta uma cadeia de caracteres para determinar o número de dígitos numéricos que ela contém. Observe que a consulta é "reutilizada" depois de ser executada pela primeira vez. Isso é possível porque a consulta em si não armazena nenhum resultado real.
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
Compilar o código
Crie um projeto de aplicativo de console do Visual Basic, com uma Imports
instrução para o namespace System.Linq.