Вы должны использовать регулярное выражение.Вы можете захватить первое слово до пробела, затем следующие три слова, разделенные пробелом, и затем в угловых скобках.
это работает
(\w+)\s+(\w+\s+\w+\s+\w+)\s*<(.*)>
\ w означает любой символ слова,+ Означает 1 или более.\ s означает любой символ пробела.Вещи в () захвачены.Регулярное выражение, которое вы бы использовали в java-коде:
(\\w+)\\s+(\\w+\\s+\\w+\\s+\\w+)\\s*<(.*)>
протестировано здесь
http://www.regexplanet.com/simple/index.html
обратите внимание, что вы можете сделать это с расщеплениями, но каждый раз, когда вы расщепляете, затем получаете токены, затемрасщепляя токены, затем получая больше токенов, затем снова расщепляя, вы делаете что-то слишком сложное.Regex значительно упрощает вещи.