Grails: Разделение строки, содержащей канал

Я пытаюсь разделить String . Работают простые примеры:

groovy:000> print "abc,def".split(",");
[abc, def]===> null
groovy:000>

Но вместо запятой мне нужно разделить его на каналы, и я не получаю желаемого результата:

groovy:000> print "abc|def".split("|");
[, a, b, c, |, d, e, f]===> null
groovy:000>

Поэтому, конечно, моим первым выбором было бы переключиться с каналов ( | ) на запятые (, ) в качестве разделителей.

Но теперь я заинтригован: почему это не работает? Выход из канала ( \ | ), похоже, не помогает:

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>
30
задан bfavaretto 22 February 2013 в 22:36
поделиться