我有一个解析管道分隔的文件C#应用程序。它使用Regex.Split方法:
Regex.Split(line, @"(?<!(?<!\\)*\\)\|")
不过最近的数据文件碰到一个包含在数据领域的一个管道。问题中的数据字段使用带引号的标识符,因此当您在Excel中打开时,它会正确打开。
比如我有一个看起来像一个文件:
字段1 |科研成果|“现场3具有|引号里面” |字段4
当我使用上述正则表达式它解析到:
字段1
字段2
字段3具有
引号内
字段4
当我想
字段1
字段2
场3有一个|里面的报价
字段4
我已经做了相当数量的研究,似乎无法得到Regex.Split在管道上拆分文件,但尊重引用标识符。任何帮助是极大的赞赏!
不要使用正则表达式来处理csv文件,这里有csv解析器,请参阅[这个答案](http://stackoverflow.com/questions/2081418/parsing-csv-files-in-c-sharp) – stema 2012-08-13 07:54:13