滅多にないというのは、 たとえば CSVデータでさえ
  1,$123,"ABC","C,D"
これをsplitで一挙に分解しようとすると
最後の "C,D"が泣き別れになってしまうでしょ?

まあ、この最後のデータが無いとした場合でも
数字か、文字列かの判断を分割してから行うより、分割しながらやる方がスキャンが1度で
済むから当然早いでしょ?

どうよ?