gpt4 book ai didi

java - 修剪 OpenCSV 中的前导和尾随空格

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:22:40 26 4
gpt4 key购买 nike

我正在使用 OpenCSV 的 CSVReader 从文件中读取一些逗号分隔值。我不确定如何修剪前导和尾随空格。当然,我可以执行 String.trim() 但最好不要这样做。在documentation没有指定这样的选项。

最佳答案

如果您正在使用 bean 映射和 OpenCSV,我个人更喜欢扩展 MappingStrategy,因为它处理对其相关字段的最终值分配。想象一下您的字段是制表符分隔的。那么您可能很难扩展 CSVReader。此外,需要的编码更少。

在下面的示例中,我使用的是 ColumnPositionMappingStrategy,但您可以使用任何其他 MappingStrategy,因为 populateNewBean 在父抽象类中。

private <T> MappingStrategy<T> createMappingStrategy() {
return new ColumnPositionMappingStrategy<T>() {
@Override
public T populateNewBean(String[] line) throws CsvDataTypeMismatchException, CsvConstraintViolationException,
CsvRequiredFieldEmptyException, CsvValidationException {
Arrays.setAll(line, (i) -> line[i].trim());
return super.populateNewBean(line);
}
};
}

如您所见,每个字段/行都在填充 bean 之前进行了修剪。

关于java - 修剪 OpenCSV 中的前导和尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15439162/

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