0

我有一个文本文件,每一行都是一个句子。结尾的每个句子都有一个输入或制作的日期。例如:

blablablablabla 2013 年 3 月 14 日

当我从文本文件中读取该行时,我收到一条错误消息,指出格式异常未处理。

x.DateOfSentence = 
    DateTime.ParseExact(lineArray[lineArray.Length-1], "M/D/YYYY", null);

其中 x 是Sentence对象的名称,并且DateOfSentence是名为 的类中的访问器Sentence

我已经尝试了常规DateTime.Parse,但是,仍然给我错误。

有没有办法排除DateTime我从文本文件中读取日期的时间部分?

4

2 回答 2

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.
于 2013-03-15T01:54:48.913 回答
0

通过显示 lineArray[lineArray.Length-1] 中的内容进行一些调试。这将是您错误的原因,因为它很可能不是日期。

于 2013-03-15T02:29:42.950 回答