|Think about Loose Coupling|
Because in order to find the length of each field in this crazy format, it relies on the length of the header field to determine the length of the value fields.
But, (uniquely) in the case of:
The header field is shorter than the value field.
And as that record pair was not a part of the sample you showed when you originally asked this question, the code does not cater for it.
Adding this line to the code above will allow it to handle that part of the data format:
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.