转换文本文件

本文关键字:文件 文本 转换 | 更新日期: 2023-09-27 18:33:37

>我有一个包含这些的文本文件。我将以创建的形式加载它。

5JB01141570J4450901            1000    1051    2000    01161501B10G610M0350M200  0000006

来生产这个。

106262,5,JB,2015-01-14,70J4450901            ,1000    ,1051    ,2000    ,2015-01-16,0,1,B10G610M0350M200  ,6,, ,0,1/14/2015 3:06:16 PM

如何转换为它?

第一列是行计数,最后一列表示生成的日期时间。

转换文本文件

这可能是一种粗糙的方法,但请尝试进行调整以适应您的方式。你明白了。

using System;
namespace ConsoleApplication1
{
    internal class Program
    {
        private static string data1;
        private static int[] idx = new int[12] { 0, 1, 3, 9, 31, 39, 47, 55, 61, 62, 63, 81 };
        private static void Main(string[] args)
        {
            string dataInput = "5JB01141570J4450901            1000    1051    2000    01161501B10G610M0350M200  0000006";
            Console.WriteLine("RESULT :");
            for (int i = 0; i < idx.Length - 1; i++)
            {
                int len = idx[i + 1] - idx[i];
                //format date
                if (i == 2 | i == 7)
                {
                    DateTime dt = Convert.ToDateTime(dataInput.Substring(idx[i], len).Substring(0, 2) +
                        "/" + dataInput.Substring(idx[i], len).Substring(2, 2) +
                        "/" + dataInput.Substring(idx[i], len).Substring(4, 2));
                    data1 = data1 + dt.ToShortDateString() + ",";
                }
                else {
                    data1 = data1 + dataInput.Substring(idx[i], len) + ",";
                }
            }
            Console.WriteLine(data1 + DateTime.Now);
            Console.ReadKey();
        }
    }
}