Something unfortunate about `String#split` is that it accepts a regex as a `String`, and compiles that regex into a `Pattern` on each call.  Compiling a `Pattern` can be an inefficient thing to do on each call.  Although for a one-character regex I'm not sure it's that bad.

We should consider either:
1. Using `java.io.StreamTokenizer` which knows about things like quoted strings and which uses a more efficient method than regex compilation.
2. Using Google Guava's `Splitter` class, which can split strings using a pre-compiled `Pattern`. See [http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/base/Splitter.html][Guava Docs].  If we use this class, then we can precompile the `Pattern`s to use and store them in static final constants, then feed them to this method. This will save on compiling the `Pattern`s on each call.