在Groovy中将String转换为arrayList

Say*_*yem 3 grails groovy

我有一个字符串:String str = "[aa,bb,cc,dd]".我想将其转换为groovy中的列表[aa, bb, cc, dd].任何可用于此类型转换的groovy方法?

Sau*_*aur 6

你应该尝试如下: -

String str = "[aa,bb,cc,dd]"
assert str[1..str.length()-2].tokenize(',') == ['aa', 'bb', 'cc', 'dd']
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你..:)

  • 也许简化一点: tokenize('[,]') (3认同)

Ger*_*oth 6

使用regexp replaceAll

String str = "[aa,bb,cc,dd]"
def a = str.replaceAll(~/^\[|\]$/, '').split(',')
assert a == ['aa', 'bb', 'cc', 'dd']
Run Code Online (Sandbox Code Playgroud)

编辑:

以下版本更冗长,但处理额外的空白

String str = " [ aa , bb , cc , dd ] "
def a = str.trim().replaceAll(~/^\[|\]$/, '').split(',').collect{ it.trim()}
assert a == ['aa', 'bb', 'cc', 'dd']
Run Code Online (Sandbox Code Playgroud)