0

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

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

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

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

list1.remove('j')

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

4

1 回答 1

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() != '' }.

于 2012-11-21T03:44:19.233 回答