Próbuję podzielić String
. Proste przykłady pracy:Grails: Dzielenie łańcucha zawierającego rurę
groovy:000> print "abc,def".split(",");
[abc, def]===> null
groovy:000>
Ale zamiast przecinka, muszę podzielić ją na rurach, a ja nie dostaję pożądany rezultat:
groovy:000> print "abc|def".split("|");
[, a, b, c, |, d, e, f]===> null
groovy:000>
więc oczywiście mój pierwszy wybór byłby aby przełączyć z rur (|
) na przecinki (,
) jako ograniczniki.
Ale teraz jestem zaintrygowany: Dlaczego to nie działa? Uciekając rurę (\|
) nie wydają się pomóc:
groovy:000> print "abc|def".split("\|");
ERROR org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, groovysh_parse: 1: unexpected char: '\' @ line 1, column 24.
print "abcdef".split("\|");
^
1 error
|
at java_lang_Runnable$run.call (Unknown Source)
groovy:000>
mógłby Pan podać przykład? Czy to nie to samo, co podany ostatnio fragment kodu? – Tom
@Tom, to był problem z formatowaniem, miał na myśli '\\ |'. Musisz wydostać się z '\ ', aby go zinterpretować w łańcuchu, aby mógł uciec przed' '' –
@Colin Dziękuję bardzo. Nie udało się złapać tego problemu z formatowaniem. Przepraszam. – Tom