private static IList <CREDIT_RECORD_DETAILS> AnalysisRecordDetails(string textAll)
        {
            var list = new List <CREDIT_RECORD_DETAILS>();

            //分割每行,取每行数据
            var rows = SplitRowSerial(textAll, lineBreakReplace: "");

            for (int i = 0; i < rows.Count; i++)
            {
                var row = rows[i];
                var m   = new CREDIT_RECORD_DETAILS();
                list.Add(m);

                //编号
                m.SN = i + 1;
                //查询日期
                var regex = new Regex(@"\d{4}年\d{1,2}月\d{1,2}日");
                var match = regex.Match(row);
                if (match.Success)
                {
                    m.QUERYDATE = match.Value.XToDateTimeOrNull();
                    row         = regex.Replace(row, "").Trim();
                }
                //查询操作员
                m.OPERATOR = GetUntilSpaceFromRow(ref row, PositionInRow.Start);
                //查询原因
                m.REMARK = row.Replace(" ", "");

                //处理查询操作员与查询原因之间无空格的情况
                if (string.IsNullOrWhiteSpace(m.REMARK))
                {
                    regex = new Regex(QUERY_REASON_PATTERN);
                    match = regex.Match(m.OPERATOR);
                    if (match.Success)
                    {
                        m.REMARK   = match.Value;
                        m.OPERATOR = regex.Replace(m.OPERATOR, "");
                    }
                }
            }

            return(list);
        }
        private static IList <CREDIT_RECORD_DETAILS> AnalysisRecordDetailsSelf(string textAll)
        {
            var list = new List <CREDIT_RECORD_DETAILS>();

            //分割每行,取每行数据
            var rows = SplitRowSerial(textAll, lineBreakReplace: "");

            for (int i = 0; i < rows.Count; i++)
            {
                var row = rows[i];
                var m   = new CREDIT_RECORD_DETAILS();
                list.Add(m);

                //编号
                m.SN = i + 1;
                //查询日期
                var regex = new Regex(@"\d{4}年\d{1,2}月\d{1,2}日");
                var match = regex.Match(row);
                if (match.Success)
                {
                    m.QUERYDATE = match.Value.XToDateTimeOrNull();
                    row         = regex.Replace(row, "").Trim();
                }
                //查询操作员
                regex = new Regex(@"本人查询.*");
                match = regex.Match(row);
                if (match.Success)
                {
                    m.OPERATOR = match.Value.Replace(" ", "");
                    row        = regex.Replace(row, "").Trim();
                }
                //查询原因
                m.REMARK = row.Replace(" ", "");
            }

            return(list);
        }
예제 #3
0
        private static IList <CREDIT_RECORD_DETAILS> AnalysisRecordDetails(string textAll)
        {
            var list = new List <CREDIT_RECORD_DETAILS>();
            int start1, end1;
            int start2, end2;
            int count1;

            #region 机构查询记录明细
            start1 = 0;

            var regex = new Regex(@"本人查询记录明细");
            var match = regex.Match(textAll);
            end1 = start2 = match.Index;

            var text1 = "\n" + textAll.Substring(start1, end1 - start1);

            //分割每行,取每行数据
            var rows1 = SplitRowSerial(text1);
            count1 = rows1.Count;
            for (int i = 0; i < rows1.Count; i++)
            {
                var row = rows1[i];
                var m   = new CREDIT_RECORD_DETAILS();
                list.Add(m);

                //编号
                m.SN = i + 1;
                //查询日期
                regex = new Regex(@"\d{4}\.\d{2}\.\d{2}");
                match = regex.Match(row);
                if (match.Success)
                {
                    m.QUERYDATE = match.Value.XToDateTimeOrNull();
                    row         = regex.Replace(row, "").Trim();
                }
                //查询原因
                m.REMARK = GetUntilSpaceFromRow(ref row, PositionInRow.End);
                //查询操作员
                m.OPERATOR = row.Replace(" ", "");
            }
            #endregion

            #region 本人查询记录明细
            end2 = textAll.Length;

            var text2 = "\n" + textAll.Substring(start2, end2 - start2);

            //分割每行,取每行数据
            var rows2 = SplitRowSerial(text2);
            for (int i = 0; i < rows2.Count; i++)
            {
                var row = rows2[i];
                var m   = new CREDIT_RECORD_DETAILS();
                list.Add(m);

                //编号
                m.SN = count1 + i + 1;
                //查询日期
                regex = new Regex(@"\d{4}\.\d{2}\.\d{2}");
                match = regex.Match(row);
                if (match.Success)
                {
                    m.QUERYDATE = match.Value.XToDateTimeOrNull();
                    row         = regex.Replace(row, "").Trim();
                }
                //查询原因
                m.REMARK = GetUntilSpaceFromRow(ref row, PositionInRow.End);
                //查询操作员
                m.OPERATOR = row.Replace(" ", "");
            }
            #endregion

            return(list);
        }