使用java中的空格对字符串进行标记

kal*_*kal 9 java tokenize

我想要像这样标记一个字符串

String line = "a=b c='123 456' d=777 e='uij yyy'";
Run Code Online (Sandbox Code Playgroud)

我不能像这样拆分

String [] words = line.split(" ");
Run Code Online (Sandbox Code Playgroud)

任何想法我怎么能分裂,以便我得到令牌

a=b
c='123 456'
d=777
e='uij yyy';  
Run Code Online (Sandbox Code Playgroud)

cle*_*tus 9

最简单的方法是手动实现一个简单的有限状态机.换句话说,一次处理字符串:

  • 当你击中一个空格时,中断一个令牌;
  • 当你点击一个引号时,继续获取字符直到你点击另一个引号.