我有一个文本文件,每行是一个句子。每句话的末尾都有打印或制作的日期。例如:
2013年3月14日
当我从文本文件中读取该行时,我得到一个错误,说格式异常未处理。
x.DateOfSentence =
DateTime.ParseExact(lineArray[lineArray.Length-1], "M/D/YYYY", null);
其中x是Sentence
对象的名称,DateOfSentence
是Sentence
类中的访问器。
我已经尝试了常规的DateTime.Parse
,然而,这仍然给我错误。
是否有办法排除DateTime
的时间部分,当我从文本文件中读取日期?
如果您知道日期位于行尾,与句子之间用空格隔开,则可以找到并删除它:
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.
通过显示lineArray[lineArray. length -1]中的内容来进行一些调试。这将是导致错误的原因,因为它很可能不是日期。