我有一个可怕的格式,制表符分隔,“CSV”,我正在努力清理。
我想引用所有字段;目前只有部分是。我正在尝试逐个选项卡,并在必要时添加引号。
此RegEx将为我提供所有标签。
\t
此RegEx将为我提供不以"
结束的标签。
\t(?!")
如何获取不以"
开头的标签?
答案 0 :(得分:3)
通常对于这些类型的问题,如果它是一次出现,我会使用Excels功能或其他应用程序(SSIS?T-SQL?)来产生所需的输出。
通用正则表达式通常会遇到奇怪的例外情况,并且恰到好处的情况通常需要更长的时间,而且很容易错过正则表达式没有捕获的群体。
如果这种情况会定期发生,请尝试在源头修复问题和/或创建一个特殊的实用程序来执行此操作。
答案 1 :(得分:2)
使用否定的lookbehind:(?<!")\t
答案 2 :(得分:1)
对于这样的一次拍摄,我通常只是编写一个小程序来清理数据,这样我也可以添加一些验证,以确保它在运行后确实已正确转换。我没有反对正则表达式,但在我的情况下,我需要更长的时间才能找出正则表达式而不是编写一个小程序。 :)
编辑:来考虑一下,主要的动力是它更有趣 - 至少对我来说:)。