Preserve empty parser fields
Can you make this parser preserve empty fields?

Split on the delimiter first, then normalize each position without filtering it:

split(',') keeps empty positions, so alpha,,gamma becomes ['alpha', '', 'gamma'].

Which edge cases should stay outside this helper?

Keep quoting and schema validation separate from this positional split:

  • Reject an unexpected field count at the boundary.
  • Send quoted delimiters through a CSV-aware tokenizer.
  • Preserve empty strings here so required-field validation can name the exact column.
Give me one regression test for the original bug.

This catches the disappearing middle field directly: