我有很多这样的行
PrId Name Quantity Price Date
3 Milk 2 100 23-08-15
我从txt文件导入 我制作了所有的线条,并为每个线条制作了所有参数,如
id is lines[i].Split('\t')[0]
Name is lines[i].Split('\t')[1]
Quantity is lines[i].Split('\t')[2]
Price is lines[i].Split('\t')[3]
and date is lines[i].Split('\t')[4]
如何删除除日期为23-08-15
的行以外的所有行答案 0 :(得分:1)
使用可以使用简单的Linq
语句。
var date = DateTime.ParseExact("23-08-15", "dd-MM-yy", null);
var filterdLines = File.ReadAllLines(@"inputfile")
.Where(s => DateTime.ParseExact(s.Split('\t')[4], "dd-MM-yy", null) == date)
.ToList();
File.WriteAllLine("outputfile", filterdLines);
答案 1 :(得分:0)
您应该按照以下步骤操作:
1)识别日期为23-08-15
的行。这可以使用DateTime.TryParseExact函数完成:
DateTime buffer;
bool parseOk = DateTime.TryParseExact(lines[i].Split('\t')[4], "dd/MM/yy", CultureInfo.InvariantCulture, null, out buffer);
if (buffer != new DateTime(2015, 08, 23))
// skip the line
2)回写过滤后的行。目前还不清楚是否需要这样做,但如果你必须将行写回文件,你可以使用
File.WriteAllLines("outputfile", filteredLines);