web-dev-qa-db-ja.com

区切り文字で文字列を分割する

現在、文字列1128-2を分割して、2つの個別の値を取得しようとしています。たとえば、value1:1128およびvalue2:2の場合、各値を個別に使用できます。 split()を試しましたが、成功しませんでした。 Grailsがこれを処理する特定の方法、またはそれを行うより良い方法はありますか?

74
thehoule64

試してください:

def (value1, value2) = '1128-2'.tokenize( '-' )
143
tim_yates

splitをどのように呼び出しますか?それはこのように動作します:

def values = '1182-2'.split('-')
assert values[0] == '1182'
assert values[1] == '2'
55
ataylor

def (value1, value2) = '1128-2'.split('-')は動作するはずです。

誰でもGroovy Consoleでこれを試していただけますか?

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

assert v == '1128'
assert z == '2'
19
dmahapatro

groovyではsplitはそのようには機能しません。あなたはtokenizeを使用する必要があります...

ドキュメントを参照してください:

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

4
Angstrom Beebe

次のこともできます。

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

//a=1182 b=2
2
davidddp