当前位置:网站首页>系统运维系列 之CSV文件读取时内容中包含逗号的处理方法
系统运维系列 之CSV文件读取时内容中包含逗号的处理方法
2022-08-03 20:25:00 【琅晓琳】
问题描述:
CSV文件默认逗号分隔,但是如果在内容中包含逗号,则会导致分隔失败或者数组下标匹配越界的问题。
处理方法:
(1)正则表达式
//(?=pattern)
//非获取匹配,正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用
//(?:pattern)
//非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式
//分割没有被双引号扩住的逗号
line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)")
(2)使用第三方jar
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>4.4</version>
</dependency>
参考资料:
https://blog.csdn.net/wls_2019/article/details/123225335 csv文件读写中的特殊情况(逗号)
https://www.cnblogs.com/allen2333/p/9835654.html 正则表达式 - (?!), (?, (?=)
https://blog.csdn.net/superbeyone/article/details/83624241 Java读取CSV文件(CSV文件数据内容包含逗号处理)
边栏推荐
- 【HiFlow】经常忘记签到怎么办?使用腾讯云场景连接器每天提醒你。
- php截取中文字符串实例
- leetcode 268. Missing Numbers (XOR!!)
- leetcode 16. 数值的整数次方(快速幂+递归/迭代)
- Golang死信队列的使用
- Why BI software can't handle correlation analysis
- RNA核糖核酸修饰RNA-HiLyte FluorTM 405荧光染料|RNA-HiLyte FluorTM 405
- leetcode 剑指 Offer 15. 二进制中1的个数
- 力扣206-反转链表——链表
- 第三方验收测试报告有什么作用?如何获取权威软件测试报告?
猜你喜欢
随机推荐
leetcode 2119. Numbers reversed twice
2022 年值得尝试的 7 个 MQTT 客户端工具
RNA核糖核酸修饰荧光染料|HiLyte Fluor 488/555/594/647/680/750标记RNA核糖核酸
tkwebview2创作心得
The sword refers to Offer II 044. The maximum value of each level of the binary tree-dfs method
nvm的使用 nodejs版本管理,解决用户名是汉字的问题
若依集成easyexcel实现excel表格增强
云服务器如何安全使用本地的AD/LDAP?
Statistical machine learning 】 【 linear regression model
leetcode 剑指 Offer 58 - II. 左旋转字符串
直播源码开发,各种常见的广告形式
php截取中文字符串实例
消除对特权账户的依赖使用Kaniko构建镜像
抖音web逆向教程
力扣707-设计链表——链表
ES6 deconstruction assignment - array object deconstruction and deconstruction
高位套牢机构,用友网络的信任危机是如何产生的?
谁的孙子最多II
PHP according to the longitude and latitude calculated distance two points
调用EasyCVR云台控制接口时,因网络延迟导致云台操作异常该如何解决?









