令牌化问题

Kar*_*ren 5 string groovy

我有

def testStr = 'a:*b*c*d'
Run Code Online (Sandbox Code Playgroud)

我想得到

tokens[0]=='a'
tokens[1]=='b*c*d'
Run Code Online (Sandbox Code Playgroud)

我试试

def tokens = testStr.tokenize(':*')
Run Code Online (Sandbox Code Playgroud)

但得到

tokens[0]=='a' 
tokens[1]=='b'
tokens[2]=='c'
tokens[3]=='d'
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢

tim*_*tes 8

tokenize可能需要令牌的列表,所以它的分裂上都:*

您可能想要split将正则表达式拆分(并返回a String[]):

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

def tokens = testStr.split( /:\*/ )
assert tokens[ 0 ] == 'a'
assert tokens[ 1 ] == 'b*c*d'
Run Code Online (Sandbox Code Playgroud)