gpt4 book ai didi

c# - 在 C# 中解析此文件的方法是什么,我在字段中有一个 CRLF

转载 作者:太空宇宙 更新时间:2023-11-03 20:40:10 25 4
gpt4 key购买 nike

我正在尝试解析一个如下所示的文件:

|| Column Header A || Column Header B || Column Header C ||CRLF
| Data A | Data B | Data C |CRLF
| Data A | Data B | Data C |CRLF

("CRLF"代表换行符)

我有代码可以很好地解析这个:

我首先将文件解析成一个行数组:

 string[] lines = fileString.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

然后,我将每一行解析为一个列数据值数组,

首先,我使用以下方法解析以获取 header :

  string Delimiter = "||";
string[] columns = line.Split(new string[] { Delimiter }, StringSplitOptions.RemoveEmptyEntries);

然后使用

解析其余行
    string Delimiter = "|";
string[] columns = line.Split(new string[] { Delimiter }, StringSplitOptions.RemoveEmptyEntries);

在我发现一个字段内有一个 CRLF 的记录之前,这一直很有效,因此我的解析中断了。

谁能想出一个好的方法来解析下面的数据,并正确处理 CRLF?这是一个例子:

|| Column Header A || Column Header B || Column Header C ||CRLF
| Data A | Data B | Data C |CRLF
| Data A | Data B CRLF Continued B | Data C |CRLF

问题是,当我进行初始解析以获取行数组时,我在这里得到 4 行而不是 3 行(因为最后一行显示为该数组中的两个条目。)

最佳答案

这里是带分隔符的文本。 String.Split() 是众所周知的解析此类数据的幼稚选择。它很慢并且容易出现问题,例如您现在遇到的问题。更好的解决方案类似于 Microsoft.VisualBasic.TextFieldParser类或 Fast CSV parser over on codeproject .

关于c# - 在 C# 中解析此文件的方法是什么,我在字段中有一个 CRLF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3225298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com