Why does String.split/2 return empty strings at beginning and end?

This is pretty weird, trying to understand why Elixir does this:

"01" |> String.split("")
["", "0", "1", ""]

"01" |> String.split("", trim: true)
["0", "1"]

Why does the first example return empty strings in the returning list? There’s probably a good reason, trying to learn :smiley: