2012-04-12 17 views
5

tengoProblemas con tokenize

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

quiero conseguir

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

Trato

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

pero llegar

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

¿Cómo puedo hacer esto

+0

¿Quiere decir 'tokens [2] == 'b * c * d''? ¿O se suponía que era el resultado en el índice '1'? –

Respuesta

8

tokenize toma una lista de posibles testigos, por lo que es la división en tanto : y *

Es posible que desee split que toma una expresión regular para dividir en (y devuelve un String[]):

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

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

Es en realidad lo que quiero gracias – Karen