C# 同一行上的多分隔符

C# 同一行上的多分隔符,c#,filehelpers,fileparsing,C#,Filehelpers,Fileparsing,我会使用FileHelpers导入这样的文件 STATUS,USERID,CUSTOM1,CUSTOM2 Active,000001,"Company division "A"", "HRO" Active,000002,"Company HQ", "HRO" 状态、用户ID、CUSTOM1、CUSTOM2 活跃,000001,“公司部门”A“HRO” 活动,000002,“公司总部”,“人力资源部” 但是我找不到如何指定字段定界符,而字段定界符又可能包含定界符本身,有人能帮忙吗?您可能应该在另

我会使用FileHelpers导入这样的文件

STATUS,USERID,CUSTOM1,CUSTOM2 Active,000001,"Company division "A"", "HRO" Active,000002,"Company HQ", "HRO" 状态、用户ID、CUSTOM1、CUSTOM2 活跃,000001,“公司部门”A“HRO” 活动,000002,“公司总部”,“人力资源部”
但是我找不到如何指定字段定界符,而字段定界符又可能包含定界符本身,有人能帮忙吗?

您可能应该在另一个线程中查看哪些字段将有助于您执行此操作

有人建议使用Microsoft.VisualBasic.FileIO.TextFieldParser(可能相当新)
Microsoft.VisualBasic.FileIO.TextFieldParser
(请参阅)。 我在使用Magento生成的文件时也遇到了同样的问题,所以我尝试了这个类,它正确地处理了上面提到的格式(引用文本字段中的双引号)

作为一个C#用户,不要担心VB,只要参考标准
Microsoft.VisualBasic
assembly即可。

顺便说一句,正如另一位用户所建议的那样,我不同意所讨论的格式是无效的。相反,我在我的工作中见过很多次,据我所知,没有CSV格式的标准。最后,你只需要处理从某个软件中产生的东西…;-)

这就是引用的意思。应忽略带引号的文本字段分隔符(并且必须转义引号)。严格来说,只有在以下情况下才需要引号:1)文本包含分隔符或2)文本包含换行符。请注意,使用\t而不是逗号将减少文本中有分隔符的可能性。虽然仍存在一些小问题,因为[Company division“a”]字段被导入为[Company division a”“],但至少可以正确地将它们分隔开,但这可能是一项伟大的工作。谢谢,我想知道当最初的人说这对他有帮助的时候,是谁投了反对票……很可能是因为一个完全不同的引擎被推荐了,而不是FileHelpers引擎。但是,除了对BeforeRead或INotifyRead事件进行手动解析之外,在FileHelpers中没有简单的方法可以做到这一点。上面的布局格式无效,源文件创建的文件不正确,但您是否可以更改源文件还是个疑问。