web-dev-qa-db-fra.com

Fractionner une chaîne avec un délimiteur

J'essaie actuellement de scinder une chaîne 1128-2 afin d'avoir deux valeurs distinctes. Par exemple, valeur1: 1128 et valeur2: 2, afin que je puisse ensuite utiliser chaque valeur séparément. J'ai essayé split() mais sans succès. Existe-t-il une façon spécifique pour Grails de gérer cela, ou une meilleure façon de le faire?

70
thehoule64

Essayer:

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

Comment appelez-vous split? Cela fonctionne comme ceci:

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

def (value1, value2) = '1128-2'.split('-') devrait fonctionner.

Quelqu'un peut-il s'il vous plaît essayer ceci dans Groovy Console?

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

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

split ne fonctionne pas de cette façon en groovy. vous devez utiliser tokenize ...

Voir les docs:

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

4
Angstrom Beebe

Vous pouvez aussi faire:

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

//a=1182 b=2
0
davidddp