我有一個解析管道分隔的文件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