Change implementation of string splitting to support zero-length components