【发布时间】:2011-04-29 20:39:47
【问题描述】:
我有一个格式错误的 CSV 文件,它有两列:文本、值
该值为 1 或 0,但有些行格式错误并跨越两行:
1. "This line is fine, but there are some that are not like this",0
2. "Another good line",1
4. "Oh, I'm so bad!!
5. I spanned two lines!",0
6. "Why did you break me? FileHelpers can't read two lines!!",1
第 4 行和第 5 行应该是一行,但我得到的 CSV 文件已损坏,它们跨越两行,这导致 FileHelpers 引擎在读取 csv 文件时失败。
我有两个 CSV 文件,每个文件大约 3000 行,我只需要修复它们一次。我想使用 notepad++ 查找所有不以 ,0 或 ,1 结尾的行,我可以使用哪种正则表达式?或者可能是正则表达式,一个用于 ,0 情况,另一个用于 ,1 情况。
更新:
丹的答案在没有逗号 [^01]$ 而不是 ,[^01]$ 的情况下有效,但它只匹配不以 0 或 1 结尾的行......在我的情况下它工作得很好,但它确实跳过了那些被破坏,实际上以 0 或 1 结尾。
【问题讨论】:
-
这不是格式错误; CSV 文件中的引用字段允许包含换行符。无论您用来读取文件的内容都已损坏。
-
我使用的是FileHelpers,当然,它不一定是格式错误,但你明白了。