gpt4 book ai didi

Groovy 拆分 csv 和空字段

转载 作者:行者123 更新时间:2023-12-02 11:31:51 25 4
gpt4 key购买 nike

Groovy split 似乎忽略了空字段。

这是代码:

line = abc,abc,,,
line.split(/,/)
println

仅打印..

abc abc

它似乎忽略了空字段。如何使用 split 检索空字段?

最佳答案

首先,方法split(regex)不是由 Groovy 提供的,而是由 Java 提供的。

其次,您可以通过使用通用 split(regex, int limit) 来实现您的需求。如下:

def line = "abc,abc,,,"

println line.split(/,/, -1) //prints [abc, abc, , , ]
println line.split(/,/, -1).size() //prints 5

注意:-
断言时,最终出现在打印中的字符串数组将引发编译错误。但您可以将结果用作普通列表。

line.split(/,/, -1).each{println "Hello $it"}

我宁愿使用 limit 0 或重载的 split 来丢弃不需要的空字符串。

使用 -1 作为限制的说明:
强调 javadoc 中的以下语句。

The limit parameter controls the number of times the pattern is applied and therefore affects the length of the resulting array. If the limit n is greater than zero then the pattern will be applied at most n - 1 times, the array's length will be no greater than n, and the array's last entry will contain all input beyond the last matched delimiter. If n is non-positive then the pattern will be applied as many times as possible and the array can have any length. If n is zero then the pattern will be applied as many times as possible, the array can have any length, and trailing empty strings will be discarded.

关于Groovy 拆分 csv 和空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17605912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com