首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SuperCSV消毒单元格值

用SuperCSV消毒单元格值
EN

Stack Overflow用户
提问于 2013-08-28 18:30:52
回答 1查看 1.3K关注 0票数 0

在supercsv中,从csv中净化字段的最佳方法是什么?例如,First_Name列:修剪字段,大写第一个字母,删除各种字符(引号、逗号、星号等)。是编写像FmtName()这样的自定义的FmtName()吗?也许另一个用于FmtEmail()的方法可以降低所有内容,删除某些无效字符?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-28 23:25:12

我想你想问的问题是:

“最好是编写一个自定义单元处理器来完成列的所有转换,还是将多个可重用处理器链接在一起?”

例如,使用您的名字示例,您可以:

( a)在一个处理器中编写一个裁剪、大写和替换全部的自定义单元处理器

代码语言:javascript
复制
new ParseFirstName()

( b)将可重用处理器(包括现有的超级CSV处理器和调用StringUtils.capitalize()的新的StringUtils.capitalize()自定义单元处理器)链接在一起。

代码语言:javascript
复制
new Trim(new Capitalize(new StrReplace("[\",\\*]", "")))

我认为这真的取决于个人喜好。像在b)中那样定义单元处理器可能非常冗长,但这意味着您可以在一个地方看到所有列的所有转换/验证。

另一方面,为每个列定义一个自定义单元处理器可以使您的单元处理器设置非常干净,但是您可能最终会得到重复的代码(例如,如果您想将多个列大写),并且您不能同时看到所有的转换。您还将拥有更多的类(更多的代码)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18495603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档