String.Split funktioniert seltsam, wenn der letzte Wert leer ist

Ich würde meinen String gerne in ein Array aufteilen, aber es funktioniert nicht, wenn der letzte "Wert" leer ist. Siehe mein Beispiel bitte. Ist es ein Fehler oder eine Funktion? Gibt es eine Möglichkeit, diese Funktion ohne Problemumgehungen zu verwenden?

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)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage