我需要你的帮助。我有一个包含许多信息行的txt文件。
文件的标题是
日期参考编号说明
13/06/2013 00000081985 TRF DESDE OTRO BCO 00000000000000972353
0105
装载货币+50.000,00 344.514,74
描述和安装之间有很多空格
这是文件
的图像我需要拆分此行以分别获取所有属性。
我需要,Date = 13/06/2013,ReferenceNumber = 00000081985,....
我正在尝试使用拆分C#函数来分隔('')但我只能得到2个第一个属性=(
我希望你能帮助我!非常感谢。
答案 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 == "");
我知道解决方案不是最好的,但我希望它会对你有帮助。