Delen via


Tekstbestanden parseren met het Object TextFieldParser (Visual Basic)

Met TextFieldParser het object kunt u zeer groot bestand parseren en verwerken dat is gestructureerd als kolommen met tekst met scheidingstekens, zoals logboekbestanden of verouderde databasegegevens. Het parseren van een tekstbestand is vergelijkbaar met TextFieldParser het herhalen van een tekstbestand, terwijl de parseringsmethode voor het extraheren van tekstvelden vergelijkbaar is met tekenreeksmanipulatiemethoden die worden gebruikt om tekenreeksen met scheidingstekens te tokeniseren.

Verschillende typen tekstbestanden parseren

Tekstbestanden kunnen velden van verschillende breedte hebben, gescheiden door een teken, zoals een komma of een tabruimte. Definiëren TextFieldType en het scheidingsteken, zoals in het volgende voorbeeld, waarbij de SetDelimiters methode wordt gebruikt om een tekstbestand met tabscheidingstekens te definiëren:

testReader.SetDelimiters(vbTab)

Andere tekstbestanden hebben mogelijk veldbreedten die zijn opgelost. In dergelijke gevallen moet u de TextFieldType breedte FixedWidth van elk veld definiëren en definiëren, zoals in het volgende voorbeeld. In dit voorbeeld wordt de SetFieldWidths methode gebruikt om de kolommen met tekst te definiëren: de eerste kolom is 5 tekens breed, de tweede is 10, de derde is 11 en de vierde is van variabele breedte.

testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth

Zodra de indeling is gedefinieerd, kunt u het bestand doorlopen met behulp van de ReadFields methode om elke regel op zijn beurt te verwerken.

Als een veld niet overeenkomt met de opgegeven indeling, wordt er een MalformedLineException uitzondering gegenereerd. Wanneer dergelijke uitzonderingen worden gegenereerd, bevatten de ErrorLine en ErrorLineNumber eigenschappen de tekst die de uitzondering en het regelnummer van die tekst veroorzaken.

Bestanden parseren met meerdere indelingen

De PeekChars methode van het TextFieldParser object kan worden gebruikt om elk veld te controleren voordat het wordt gelezen, zodat u meerdere indelingen voor de velden kunt definiëren en dienovereenkomstig kunt reageren. Zie Instructies voor meer informatie : Lezen uit tekstbestanden met meerdere indelingen.

Zie ook