如何在C#asp中拆分包含许多空格的文件行?

时间:2014-03-08 23:23:06

标签: c# asp.net string file split

我需要你的帮助。我有一个包含许多信息行的txt文件。

文件的标题是

日期参考编号说明
13/06/2013 00000081985 TRF DESDE OTRO BCO 00000000000000972353 0105

装载货币+50.000,00 344.514,74

描述和安装之间有很多空格

这是文件enter image description here

的图像

我需要拆分此行以分别获取所有属性。

我需要,Date = 13/06/2013,ReferenceNumber = 00000081985,....

我正在尝试使用拆分C#函数来分隔('')但我只能得到2个第一个属性=(

我希望你能帮助我!非常感谢。

3 个答案:

答案 0 :(得分:5)

您可能希望查看每个字段的长度,因为它看起来像固定长度数据。如果是这样,请使用String.Substring方法,使用每个字段的起始位置和最大长度作为输入。

答案 1 :(得分:1)

这看起来就像你正在尝试处理一个固定长度的文件,这个文件本质上是一个文件,其数据根据文件中的物理位置进行拆分(每个数据都需要占用特定数量的字符) )。似乎是一些鲜为人知的功能,但请查看TextFieldParser。它是专门为这类事物而制作的.NET类。

具体来说,请查看属性TextFieldType,该属性可以设置为FixedWidth并给出每个字段的宽度。应该完全按照自己的意愿行事。

答案 2 :(得分:0)

您可以尝试这样做:

StreamReader sr = new StreamReader("path to text file");
string s = sr.ReadToEnd();
s = s.Replace(' ', '!'); //change the space sign with other sign
List<string> strList = s.Split('!').ToList();
strList.RemoveAll(t => t == "");

我知道解决方案不是最好的,但我希望它会对你有帮助。