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); }
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); }