我有一个文本文件,每行都是一个句子。最后的每个句子都有一个输入或制作的日期。例如:
blablablablabla 3/14/2013
当我从文本文件中读取行时,出现错误,说格式异常未处理。
x.DateOfSentence =
DateTime.ParseExact(lineArray[lineArray.Length-1], "M/D/YYYY", null);
其中x是Sentence
对象的名称,DateOfSentence
是名为Sentence
的类中的访问者。
我已经尝试过常规DateTime.Parse
,但仍然会给我带来错误。
当我从文本文件中读取日期时,有没有办法排除DateTime
的时间部分?
答案 0 :(得分:1)
如果您知道日期位于该行的末尾,并以空格与句子分隔,则可以找到并删除它:
int pos = line.LastIndexOf(' ');
if (pos != -1)
{
line = line.Substring(0, pos);
}
这会占用一切空间,而不是约会。
所以你可以做的是:
var lines = new List<string>();
foreach (var line in File.ReadLines(filename))
{
// do the above
lines.Add(line);
}
// lines now is a list that contains all of the lines with the dates stripped.
答案 1 :(得分:0)
通过显示lineArray [lineArray.Length-1]中的内容进行一些调试。这将是您的错误的原因,因为它很可能不是日期。