The split method recognizes your token, in this case ';' and prints out the strings before or after it, if they exist - but not including the token. So after reading the first token, it looks to see surrounding strings, and finds ";12" - thus it finds another token which it can't print resulting in the undesired output. From there, I assume you know how split() operates. The pattern you're looking for is to exclude empty strings, thus:
String[] quote = quoteValues.split(";+");
Hope this helps.
