If it were me I'd also use a fixed width approach. Small suggestion however, add in a check that the last character of each 'field' that you extract must be space char. While this doesn't guarantee that you'll catch data from one field running into the next, it does increase your chances.