More efficient string split