2012-04-12 2 views
5

У меня естьПроблемы с разметить

def testStr = 'a:*b*c*d' 

Я хочу, чтобы получить

tokens[0]=='a' 
tokens[1]=='b*c*d' 

Стараюсь

def tokens = testStr.tokenize(':*') 

но получить

tokens[0]=='a' 
tokens[1]=='b' 
tokens[2]=='c' 
tokens[3]=='d' 

Как я могу сделать эту вещь

+0

Вы имеете в виду 'tokens [2] == 'b * c * d''? Или это должен был быть результат в индексе '1'? –

ответ

8

tokenize принимает список возможных лексем, так что расщепление на обоих : и *

Вы, вероятно, хотите split который принимает регулярное выражение для разделения на (и возвращает String[]):

def testStr = 'a:*b*c*d' 

def tokens = testStr.split(/:\*/) 
assert tokens[ 0 ] == 'a' 
assert tokens[ 1 ] == 'b*c*d' 
+0

На самом деле я хочу поблагодарить вас – Karen

Смежные вопросы