I am currently reading a text file that has a fixed width. Instead of looping, is there a way to get let's say the fifth value (which is one character if you look at the fixedWidths)?
Here is a copy of my code:
Private Function processPaymentRow(currentLine As String)
Dim result As String()
Using strStream As New StringReader(currentLine)
Using MyReader As New TextFieldParser(strStream)
MyReader.TextFieldType = FieldType.FixedWidth
'Set proper field widths for the payment row here
MyReader.FieldWidths = {10, 1, 10, 8, 1, 20, 13, 1, 8, 8, 8, 40,
40, 40, 40, 40, 25, 2, 9, 40, 10, 20, 6}
Try
result = MyReader.ReadFields()
'Dim currentField As String
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message & "is not valid and will be skipped.")
End Try
End Using
End Using
For Each itm In result
MsgBox(itm & " Pay")
'// I can loop through the results and get the value I want.
Next
Return result
End Function
result
is a String array, so you should be able to grabresult(4)
, and that should give you your 5th value.