首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

混淆CSV
EN

Stack Overflow用户
提问于 2012-02-14 21:16:06
回答 4查看 247关注 0票数 0

有没有可能让CSV阅读器像这样

代码语言:javascript
运行
复制
while((line = reader.readLine()) != null){
            String[] values = line.split(",");
            for(String s : values) {
                data.add(s);
}

但不只是一个逗号,而是每一行有不同的拆分,例如:

代码语言:javascript
运行
复制
value/value;value=value

不只是值,而是值

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-14 21:24:11

String#split接受一个正则表达式作为参数,而不仅仅是一个字符串,所以您可以使用像;|/|=|,这样的表达式进行拆分。

票数 2
EN

Stack Overflow用户

发布于 2012-02-14 21:24:39

当然,您可以为您的混淆CSV实现一个阅读器,但文件格式不再是csv,并且您将有更多的问题来识别一组分隔符字符(它们不能是值的一部分)。

最简单的方法:编写一个编码器,它将合法的CSV转换为您自己的数据格式,并将转换回合法的CSV的解码器。

顺便说一句,你仍然可以用一条split命令来解码:

代码语言:javascript
运行
复制
String[] values = line.split("[/;=]");

split接受正则表达式作为参数。

票数 1
EN

Stack Overflow用户

发布于 2012-02-14 21:25:14

Split接受regexp作为String参数。例如,这将拆分您在示例中使用的任何单个字符。

line.split("[/;=]")

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

https://stackoverflow.com/questions/9277521

复制
相关文章

相似问题

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