В настоящее время я пытаюсь разбить строку, 1128-2
чтобы иметь два отдельных значения. Например, значение1: 1128 и значение2: 2, чтобы затем можно было использовать каждое значение отдельно. я пыталсяsplit()
но безуспешно. Есть ли в Grails особый способ справиться с этим или лучший способ сделать это?
96
Ответы:
Пытаться:
def (value1, value2) = '1128-2'.tokenize( '-' )
источник
split
vstokenize
tothenew.com/blog/groovy-tokenize-vs-split|
. Вам нужно будет избежать символа stackoverflow.com/questions/3842537/…Как ты звонишь
split
? Это работает так:def values = '1182-2'.split('-') assert values[0] == '1182' assert values[1] == '2'
источник
String extensionRemoved = filename.split("\\.")[0];
противном случае вы разбиваете на регулярное выражение., Что означает «любой символ». Обратите внимание на двойную обратную косую черту, необходимую для создания одиночной обратной косой черты в регулярном выражении.def (value1, value2) = '1128-2'.split('-')
должно сработать.Может ли кто-нибудь попробовать это в Groovy Console?
def (v, z) = '1128-2'.split('-') assert v == '1128' assert z == '2'
источник
Вы также можете:
Integer a = '1182-2'.split('-')[0] as Integer Integer b = '1182-2'.split('-')[1] as Integer //a=1182 b=2
источник
split не работает в Groovy. вам нужно использовать tokenize ...
См. Документы:
http://groovy-lang.org/gdk.html#split ()
источник
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 } } }
источник