2012-04-12 22 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'的結果? – 2012-04-12 09:07:36

回答

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 2012-04-12 09:11:13