Java 如果我的文件中的数据包含值的分隔符(ç;),该怎么办
我需要导入批量文件,分析数据并生成报告。 这些文件中有3种类型的数据。 对于每种类型的数据,都有不同的布局 卖家详细信息Java 如果我的文件中的数据包含值的分隔符(ç;),该怎么办,java,Java,我需要导入批量文件,分析数据并生成报告。 这些文件中有3种类型的数据。 对于每种类型的数据,都有不同的布局 卖家详细信息 salesperson数据的格式为id 001,行的格式如下: 001çCPFçNameç薪水 客户数据 客户数据的格式为id 002,行的格式如下: 002çCNPJçNameç商业区 销售数据 销售数据的格式为id 003。在销售线中,有一个列表 由方括号[]包围的项目的名称。该行的格式如下: 003çSale IDç[商品ID商品数量商品价格]ç销售员姓名 样本数据 以
salesperson数据的格式为id 001,行的格式如下:
001çCPFçNameç薪水 客户数据
客户数据的格式为id 002,行的格式如下:
002çCNPJçNameç商业区 销售数据
销售数据的格式为id 003。在销售线中,有一个列表 由方括号[]包围的项目的名称。该行的格式如下:
003çSale IDç[商品ID商品数量商品价格]ç销售员姓名 样本数据
以下是系统应能读取的数据示例。
001ç1234567891234çPedroç50000
001ç3245678865434ç保罗ç40000.99
002ç2345675434544345çJose da SilvaçRural
002ç2345675433444345çEduardo PereiraçRural
003ç10ç[1-10-100,2-30-2.50,3-40-3.10]çPedro
003ç08ç[1-34-10,2-33-1.50,3-40-0.10]ç保罗 当字段值是否包含分隔符(ç) 示例:
001ç1234567891234çAssunççoç50000我不知道你说的“做”什么意思 但处理使用
ç
作为分隔符的数据应该没有问题。前提是ç
仅用作分隔符
- 如果使用的是
,则可以使用String.split
作为分隔符regex“ç”
- 如果使用的是
,则可以在分隔符中包含扫描仪
“ç”
- 一个典型的CSV阅读器库将:;允许您使用
作为字段分隔符。。。而不是“ç”
,“
也有可能
ç
实际上代表了其他内容,用于写入文件的字符集/编码与用于读取文件的字符集/编码不匹配
使用
ç
作为分隔符不是一个好主意。虽然C+cedila主要用于非英语文本(请参阅),但您偶尔也会在英语文本中看到它。如果将其用作分隔符,则可能存在冲突。。。如果文件格式没有引用或转义分隔符的语法,则可能会出现问题
这就导致了:
当字段值是否包含分隔符(ç)
然后:
- 您需要文件语法中的引用或转义方案
- 如果没有,则文件语法不明确
- 如果语法不明确,就没有简单的方法来解析文件。(您需要一个在所有实际示例中都有效的消歧启发式方法。您可能需要一个手工构建的解析器来实现该启发式方法。)
- 如果无法通过启发式解决歧义,则需要更改文件语法;e、 g.添加转义/引用支持,或使用不同的分隔符