It may seem like all we need to do is split() the CSV, but because of the way commas and other characters internal to the fields are handled we need to run a set of Regex???s on the CSV. One known problem is a fully quoted string like ???string??? is stripped of quotes while a fully quoted string with leading characters like a ???strong??? candidate works.