Estoy tratando de dividir un String
. ejemplos simples funcionan:Grails: División de una cadena que contiene un conducto
groovy:000> print "abc,def".split(",");
[abc, def]===> null
groovy:000>
Pero en lugar de una coma, tengo que dividirlo en las tuberías, y no estoy consiguiendo el resultado deseado:
groovy:000> print "abc|def".split("|");
[, a, b, c, |, d, e, f]===> null
groovy:000>
Así que, por supuesto, mi primera opción sería para cambiar de las tuberías (|
) a comas (,
) como delimitadores.
Pero ahora estoy intrigado: ¿Por qué esto no funciona? Escapar de la tubería (\|
) no parece ayudar:
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>
Podría dar un ejemplo? ¿No es lo mismo que el último fragmento de código que proporcioné? – Tom
@Tom, era un problema de formato, quería decir '\\ |'. Necesitas escapar de '\' para que se interprete en la Cadena, por lo que puede escapar de '|' –
@Colin Muchas gracias. No entendí ese problema de formateo. Mis disculpas. – Tom