Если параметр limit пропущен, завершающие нулевые поля остаются вне возвращаемого массива.Если оно отрицательное, они возвращаются:
# Supply -1 as the limit parameter
"\t\ttest\t\t\t".split(/\t/, -1)
=> ["", "", "test", "", "", ""]
Это подробно описано в документации String.split()
.