103

我目前正在尝试拆分一个字符串1128-2,以便我可以有两个单独的值。例如,value1: 1128 和 value2: 2,这样我就可以分别使用每个值。我试过split()但没有成功。Grails 是否有特定的方式来处理这个问题,或者有更好的方法?

4

6 回答 6

188

尝试:

def (value1, value2) = '1128-2'.tokenize( '-' )
于 2013-05-08T21:50:56.433 回答
69

你怎么叫split?它是这样工作的:

def values = '1182-2'.split('-')
assert values[0] == '1182'
assert values[1] == '2'
于 2013-05-08T21:59:26.987 回答
24

def (value1, value2) = '1128-2'.split('-')应该管用。

任何人都可以在 Groovy 控制台中尝试一下吗?

def (v, z) =  '1128-2'.split('-')

assert v == '1128'
assert z == '2'
于 2013-05-08T22:01:19.867 回答
9

你也可以这样做:

Integer a = '1182-2'.split('-')[0] as Integer
Integer b = '1182-2'.split('-')[1] as Integer

//a=1182 b=2
于 2018-09-13T07:39:07.210 回答
4

split 在 groovy 中不起作用。你必须使用标记化...

请参阅文档:

http://groovy-lang.org/gdk.html#split()

于 2014-11-06T22:42:28.517 回答
0
dependencies {
   compile ('org.springframework.kafka:spring-kafka-test:2.2.7.RELEASE') { dep ->
     ['org.apache.kafka:kafka_2.11','org.apache.kafka:kafka-clients'].each { i ->
       def (g, m) = i.tokenize( ':' )
       dep.exclude group: g  , module: m
     }
   }
}
于 2020-04-24T09:22:40.683 回答