Как разобрать файл mt940 с помощью regex или Raptorious.SharpMt940Lib?

Как я могу проанализировать файл mt940 без ошибок с помощью регулярных выражений или Raptorious.SharpMt940Lib?

ниже коды вернули мне ошибку:

  var header = new Raptorious.SharpMt940Lib.Mt940Format.Separator("STARTUMSE");
        var trailer = new Raptorious.SharpMt940Lib.Mt940Format.Separator("-");
        var genericFomat = new Raptorious.SharpMt940Lib.Mt940Format.GenericFormat(header, trailer);

        using (var fileStream = new FileStream(@"C:\test\ex.txt", FileMode.Open, FileAccess.Read))
        {
            TextReader tr = new StreamReader(fileStream);
            var parsed = Raptorious.SharpMt940Lib.Mt940Parser.Parse(genericFomat, tr);
        }

Ошибка:

An unhandled exception of type 'System.IO.InvalidDataException' occurred in Raptorious.SharpMt940Lib.dll
Additional information: Can not find trailer!

ПРИМЕР ДАННЫХ:

:20:6307396651830602
:25:0010-01941/63073966-5183
:28C:00578/001
:60F:C155602TRY2683629,41
:61:1606055Y4774,04NERRNONREF
:86:GOND: HARRAN MAL.OD.HES20160602/201600000003267 S.GN.EMR OKUL 490
5631 NOLU ABONENIN ELEKTRIK TUKETIM BEDELI
:61:160602CY591,20NEFRRONREF
:86:GOND: BIRECIK MA.OD.HES20160602/201600000003244 S.GN.EMR AYggN CP
AL 4914861 NOLU ELEKTRIK ABONESININ FATURA ODEMESI
:61:160602CY2188,54NERRNONREF

1 ответ

Решение

Библиотека ожидает, что файл mt940 будет иметь как верхний, так и нижний колонтитулы. В вашем примере файл не содержит ни того, ни другого.

В вашей конфигурации файл должен выглядеть так:

STARTUMSE
:20:6307396651830602
:25:0010-01941/63073966-5183
:28C:00578/001
:60F:C155602TRY2683629,41
:61:1606055Y4774,04NERRNONREF
:86:GOND: HARRAN MAL.OD.HES20160602/201600000003267 S.GN.EMR OKUL 4905631 NOLU ABONENIN ELEKTRIK TUKETIM BEDELI
:61:160602CY591,20NEFRRONREF
:86:GOND: BIRECIK MA.OD.HES20160602/201600000003244 S.GN.EMR AYggN CPAL 4914861 NOLU ELEKTRIK ABONESININ FATURA ODEMESI
:61:160602CY2188,54NERRNONREF
-
Другие вопросы по тегам