处理csv中的错误字符

时间:2015-11-23 07:57:42

标签: c# .net csv

我有一个程序,它使用双引号读取默认格式的csv文件:默认情况下为“A”,“B”,“C”。但是,假设用户可能在csv中提交任何不良字符。例如“A”“,”B“,”C“或A,B,C”或“A”,“B”,“”C或A,B,C。以上只是一些样本,它可能有无穷无尽的关键是如果csv中的列少于n列,则附加空列,并删除csv中的额外列。可能有10000条或更多条记录,必须读取csv中的所有行并插入列表中。由于字符无效,csv文件不能被拒绝或抛出异常。怎么可能呢?我似乎无法找到它的常见模式。

1 个答案:

答案 0 :(得分:0)

如何使用Regex仅提取字母数字字符?

string cleanedStr = Regex.Replace(str, "[^a-zA-Z0-9]", "");

更完整的代码将是这样的

        foreach (string line in File.ReadLines(YourCSVFilePath))
        {
            string[] strArr = line.Split(',');

            foreach (string str in strArr)
            {
                string cleanedStr = Regex.Replace(str, "[^a-zA-Z0-9]", "");
                //Do your stuff with the cleanedStr here
            }
        }