-4

テキストファイルを読み取ってデータベースにアップロードしています。テキストファイルには、ヘッダーなしでこのようなものが含まれています...

[10-10-2013 11:20:33.444 CDF] 1000020 インシデント T これはエラー メッセージです

[10-10-2013 11:20:33.445 CDF] 1000020 インシデント T これは 2 番目のエラー メッセージです

「10-10-2013 11:20:33」を日付列に、ミリ秒444をデータベースの整数列に保存するにはどうすればよいですか。ここで、最初にスペースで分割しようとすると、日付が 3 つの部分に分割されます。括弧の間の日付を取得してから、分割されたスペースで残りを取得したいと思います。

ここで言及する2つのポイント。1.ここでは、日付列の間にスペースがあります。2.また、他の列を取得できるはずです

4

2 に答える 2

1

これを行う最も簡単な方法は、単に使用することString.SplitですString.Substring

一般的に私はこれを行います:

//find the indices of the []
var leftIndex = currentLine.IndexOf("[");
var rightIndex = currentLine.IndexOf("]");

//this get's the date portion of the string
var dateSubstring = currentLine.Substring(leftIndex, rightIndex - leftIndex);

var dateParts = dateSubstring.Split(new char[] {'.'});

// get the datetime portion

var dateTime = dateParts[0];

var milliseconds = Int16.Parse(dateParts[1]);

編集

日付部分は固定幅なので、すべてに使用できSubstringます。

于 2013-07-07T18:06:38.800 に答える