【发布时间】:2019-11-26 12:06:02
【问题描述】:
我正在处理许多不同格式的 CSV 文件,通常由普通用户手工编写,因此字段内有很多 ; , \n 和 \t 等, 这种字符通常在解析数据或生成新的 CSV 文件时会引起麻烦,我通常会事先删除这些字符,但今天我在一个旧程序中发现了以下代码:
它从resultSet读取数据并将每个值连接成String形成一行,并处理分隔符(我们通常使用;),这段代码首先使用了一个临时标志,如#TempSeparator#划分每个字段,然后,当行完成时,应用replaceAll(";","") 删除假分隔符,然后,replaceAll("#TempSeparator#", ";") 形成有效行
我实际上认为这是一种避免对每个字段进行不必要调用的聪明方法,并且只对整行进行替换,但我认为这不是最好的,甚至不是最佳的方法。
这真的是个坏习惯吗?
【问题讨论】: