Il est difficile de dire à partir de votre poste si elle est la meilleure solution possible, mais une solution serait d'utiliser regular expressions pour trouver toutes les lignes contenant le mot Start
:
^.*\bStart\b.*$
correspond à une ligne entière qui contient le mot complet Start
n'importe où. Il rejette Start
comme une partie d'un mot, par exemple Starting
ne sera pas apparié (c'est ce que les ancres de limite de mot \b
sont pour).
Pour utiliser ceci dans VB.NET:
Dim RegexObj As New Regex(
"^ # Start of line" & chr(10) & _
".* # Any number of characters (anything except newlines)" & chr(10) & _
"\b # Word boundary" & chr(10) & _
"Start # ""Start""" & chr(10) & _
"\b # Word boundary" & chr(10) & _
".* # Any number of characters (anything except newlines)" & chr(10) & _
"$ # End of line",
RegexOptions.Multiline Or RegexOptions.IgnorePatternWhitespace)
AllMatchResults = RegexObj.Matches(vrDisplay)
If AllMatchResults.Count > 0 Then
' Access individual matches using AllMatchResults.Item[]
Else
' Match attempt failed
End If
Cela fonctionnerait probablement, mais un StreamReader.ReadLine() intégré serait probablement plus rapide et nécessiterait moins de mémoire que l'exécution d'une regex sur une chaîne contenant le fichier entier. – Reinderien
@Reinderien: Exactement. Mais peut-être qu'il a besoin de tout le fichier en mémoire à la fois. Qui peut le dire? –
Tim a raison. J'ai besoin d'un fichier entier en mémoire à la fois. –