Saat ini saya mencoba membagi string 1128-2
sehingga saya dapat memiliki dua nilai terpisah. Misalnya, nilai1: 1128 dan nilai2: 2, sehingga saya dapat menggunakan setiap nilai secara terpisah. Saya telah mencoba split()
tetapi tidak berhasil. Adakah cara khusus Grails menangani ini, atau cara yang lebih baik untuk melakukannya?
96
Jawaban:
Mencoba:
def (value1, value2) = '1128-2'.tokenize( '-' )
sumber
split
vstokenize
tothenew.com/blog/groovy-tokenize-vs-split|
. Anda harus keluar dari char stackoverflow.com/questions/3842537/…Bagaimana Anda menelepon
split
? Ini bekerja seperti ini:def values = '1182-2'.split('-') assert values[0] == '1182' assert values[1] == '2'
sumber
String extensionRemoved = filename.split("\\.")[0];
Jika tidak, Anda akan memisahkan pada regex., Yang berarti "karakter apa pun". Perhatikan garis miring terbalik ganda yang diperlukan untuk membuat satu garis miring terbalik di regex.def (value1, value2) = '1128-2'.split('-')
harus bekerja.Adakah yang bisa mencoba ini di Groovy Console?
def (v, z) = '1128-2'.split('-') assert v == '1128' assert z == '2'
sumber
Anda juga bisa melakukan:
Integer a = '1182-2'.split('-')[0] as Integer Integer b = '1182-2'.split('-')[1] as Integer //a=1182 b=2
sumber
split tidak bekerja seperti itu secara groovy. Anda harus menggunakan tokenisasi ...
Lihat dokumennya:
http://groovy-lang.org/gdk.html#split ()
sumber
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 } } }
sumber