Это может быть излишним, но если вы считаете, что проблема может распространяться, например, необходимость деления на другие типы символов или наличие дополнительных правил, определяющих токен, вам следует рассмотреть возможность использования генератора синтаксического анализатора, такого как Коко или написание простого самостоятельно. Например, Coco / R создаст сгенерированный вами лексер и парсер из грамматики EBNF. Лексером будет DFA или конечный автомат, который представляет собой обобщенную форму кода, предоставленного JaredPar. Ваше определение грамматики для Coco / R будет выглядеть так:
CHARACTERS
alphanum = 'A'..'Z' + 'a'..'z' + '0'..'9'.
TOKENS
unit = '"' {alphanum|' '} '"' | {alphanum}.
Затем созданный лексер будет сканировать и токанизировать ваш ввод соответственно.