分隔字符串与分隔符
我目前正在尝试分割字符串1128-2
,这样我可以有两个单独的值,例如:value1:1128和value2:2,以便我可以分别使用每个值。我试过split()
但没有成功。有没有一种特定的方式来处理这个或更好的方式吗?分隔字符串与分隔符
尝试:
def (value1, value2) = '1128-2'.tokenize('-')
这是一个很好的阅读'split'和'tokenize' http://www.tothenew.com/blog/groovy-tokenize-vs-split/ – Snekse 2015-12-23 17:02:25
哦,并且要小心如果你正在拆分某些字符,如管道'|'。你需要转义字符http://*.com/questions/3842537/grails-splitting-a-string-that-contains-a-pipe – Snekse 2015-12-23 17:19:17
是的,cos分裂使用正则表达式 – 2015-12-23 17:23:26
你怎么打电话split
?它的工作原理是这样的:
def values = '1182-2'.split('-')
assert values[0] == '1182'
assert values[1] == '2'
def (value1, value2) = '1128-2'.split('-')
应该工作。
任何人都可以请试试这在Groovy控制台?
def (v, z) = '1128-2'.split('-')
assert v == '1128'
assert z == '2'
对不起。你可以试试上面的说法吗? – dmahapatro 2013-05-08 22:19:37
它确实有效。尼斯 – Giannis 2015-04-22 10:20:58
我很好奇,为什么不与工作只是分裂? (a,b)=“a-b”.split(“ - ”)对我来说很好(我相信它也可以在Java中工作)。我用它所有的时间。编辑:只是看着它,他们有点不同 - 分割返回一个数组,而tokenize返回一个ArrayList。在Groovy中,事实上同样的事情,分割的优点是它可以轻松移植到Java,我不认为tokenize是String上的Java方法(除非它是一个相当新的并且我错过了它) – 2016-09-01 16:55:51