Groovy从数组中删除空间索引

时间:2012-11-21 01:36:19

标签: arrays groovy

标头是从文件填充的数组。当我打印标题时,我得到:

headers = ["The Year", , , "The Make", "The Model"]

我正在尝试使用headers.remove(' ')来摆脱那两个只是空格的单元格。它不会运行或使用该语法编译,我找不到我做错了什么。我测试过:

def list1 = ['j', 2, 3, 4]

list1.remove('j')

它运作得很好。我无法弄清楚我做错了什么。

1 个答案:

答案 0 :(得分:2)

假设["The Year", , , "The Make", "The Model"]实际上是列表的toString表示

groovy:000> ["The Year", , , "The Make", "The Model"]
ERROR org.codehaus.groovy.control.MultipleCompilationErrorsException:
startup failed:
groovysh_parse: 1: unexpected token: , @ line 1, column 14.
   ["The Year", , , "The Make", "The Model"]
            ^
groovy:000> ['"The Year"', '', '', '"The Make"', '"The Model"']
===> ["The Year", , , "The Make", "The Model"]

我认为headers.remove(' ')不起作用,因为元素实际上不是空格,它们是空的。我不确定为什么headers.remove('')无法使用,除非您需要使用headers.removeAll('')

更好的选择是使用类似headers.findAll { it.trim() != '' }的内容。