String.Split работает странно, когда последнее значение пусто

Я хотел бы разделить мою строку на массив, но он работает плохо, когда последнее «значение» пусто. Смотрите мой пример, пожалуйста. Это ошибка или особенность? Есть ли способ, как использовать эту функцию без обходных путей?

var
  arr: TArray<string>;

  arr:='a;b;c'.Split([';']); //length of array = 3, it's OK
  arr:='a;b;c;'.Split([';']); //length of array = 3, but I expect 4
  arr:='a;b;;c'.Split([';']); //length of array = 4 since empty value is inside
  arr:=('a;b;c;'+' ').Split([';']); //length of array = 4 (primitive workaround with space)

Ответы на вопрос(1)

Ваш ответ на вопрос