【发布时间】:2015-03-19 04:56:11
【问题描述】:
我正在开发一个应用程序,它从特定目录中提取所有文件名的列表,然后需要将文件名解析为多个变量,然后提交到数据库。
如何将字符串文件名解析成多个变量?
EX 文件:
2014_31_12_09_36AM_15555555555_108
2014_31_12_09_39AM_108_15555555555
2014_31_12_09_17AM_102_108
文件名包含年、日、月、小时、分钟(带 AM/PM)和 3 位或 11 位数字,后跟另一个 3 或 11 位数字
扫描完目录后,所有文件名都存储在一个数组中。
private void ParseFileNames()
{
string Year = "";
string Day = "";
string Month = "";
string Hour = "";
string Minute = "";
string Called = "";
string Calling = "";
//Loop through scanned file names and parse them one at a time.
for (int i = 0; i < fileNames.Length; i++)
{
string[] parsedFileName = fileNames[i].Split('_');
Year = parsedFileName[0];
Day = parsedFileName[1];
Month = parsedFileName[2];
Hour = parsedFileName[3];
Minute = parsedFileName[4];
Called = parsedFileName[5];
Calling = parsedFileName[6];
//open DB connection and submit each individual parsed file data into DB
//Move file from toIndexPath to IndexedPath
}
}
有没有更好的方法来做到这一点?
【问题讨论】:
-
“更好”如何?能够处理格式错误的名称吗?将日期存储为日期而不是字符串?使用更少的字符?
-
我打算将日期转换为日期而不是字符串,以及时间(与日期分开?),以便可以搜索它们。
标签: c# mysql arrays string parsing