¿Cómo puedo determinar si una cadena no es nula y no solo un espacio en blanco en Groovy?


Groovy agrega el método isAllWhitespace()a las cadenas, lo cual es genial, pero no parece haber una buenamanera de determinar si una Cadena tiene algo que no sea solo espacio en blanco en ella.

Lo mejor que he podido encontrar es:

myString && !myString.allWhitespace

Pero eso parece demasiado detallado. Esto parece ser algo tan común para la validación que debe ser una forma más simple de determinar esto.

Author: cdeszaq, 2012-02-07

2 answers

Otra opción es

if (myString?.trim()) {
  ...
}
 171
Author: tim_yates,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-23 23:51:04

Podría agregar un método a String para hacerlo más semántico:

String.metaClass.getNotBlank = { !delegate.allWhitespace }

Que vamos a hacer:

groovy:000> foo = ''
===> 
groovy:000> foo.notBlank
===> false
groovy:000> foo = 'foo'
===> foo
groovy:000> foo.notBlank
===> true
 8
Author: doelleri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-07 03:50:10