Okay, I misunderstood what you were trying to do. The default `split()` would indeed split on 3 spaces (which is why I said yes), but also on any arbitrary amount of whitespace. It splits and removes any whitespace, which is what I thought you wanted to do.

Can you show me a string that you would be splitting? I don't understand why you only want to split when there are exactly 3 whitespaces in sequence (such a decision should be described in a comment), and then have a resulting list with empty elements and non-empty elements that possibly have leading and/or trailing whitespace.