如何使用Groovy修剪列表中的所有元素?

use*_*563 14 grails groovy

我需要修剪groovy或grails列表中的所有元素?什么是最好的解决方案

gka*_*mal 16

假设它是一个字符串列表,你想修剪每个字符串,你可以使用扩展运算符(*.)来完成它.

list = [" abc ", " xyz "]
list*.trim()
Run Code Online (Sandbox Code Playgroud)


ata*_*lor 13

您可以使用collect方法或spread运算符来创建包含修剪元素的新列表:

def strs = ['a', ' b', ' ']
assert strs.collect { it.trim() } == ['a', 'b', '']
assert strs*.trim() == ['a', 'b', '']
Run Code Online (Sandbox Code Playgroud)

在这些情况下,不会修改原始列表.如果要修剪字符串,则需要使用索引遍历列表:

for (i in 0..<strs.size()) {
    strs[i] = strs[i].trim()
}
Run Code Online (Sandbox Code Playgroud)