A.O.A
我想拆分以下代码并将其保存到数据库中:
31201011281853000100000000710003
分割的格式是
31
(2010-11-28,18 53) yyyy-mm-dd,hr-min
0001
0000000071
0003
首先我必须上传包含这些代码的文件,然后逐行读取每个记录,按照上面提到的格式拆分每一行,然后将其保存到数据库。
答案 0 :(得分:4)
使用StreamReader
逐行读取文件,并使用String.substring方法提取子字符串。
答案 1 :(得分:2)
I +1 AVD的答案,但我想我会把它充实,以防万一OP无法自行解决。
上传文件后,您需要使用streamreader课程阅读。使用流读取器,您可以将每行读入变量,然后使用substring执行拆分。
StreamReader位于System.IO名称空间中。
using System.IO;
//------------
string line;
string s1;
string s2;
string s3;
string s4;
string s5;
using (StreamReader reader = new StreamReader("file.txt"))
{
line = reader.ReadLine(); // 31201011281853000100000000710003
s1 = line.substring(0,2); // 31
s2 = line.substring(3,12); // 201011281853
s3 = line.substring(13,4); // 0001
s4 = line.substring(14,10);// 0000000071
s5 = line.substring(15,4); // 0003
// Pass s1-s5 to your insert/update statements in DAL.
}
答案 2 :(得分:0)
我从这开始:var records = File.ReadAllLines(@"C:\test.txt").Select(line => Regex.Match(line, @"(\d{2})(\d{12})(\d{4})(\d{10})(\d{4})").Groups.Cast<Group>().Skip(1).Select((g,i) => i == 1 ? DateTime.ParseExact(g.Value, "yyyyMMddHmm", null).ToString("(yyyy-MM-dd,H mm)") :g.Value ).ToList());
嗯...确保你有一台宽屏显示器:)