C#怎么用正则取关键字后面的字符串啊

.Net技术 码拜 9年前 (2016-05-09) 1243次浏览
C#怎么用正则取关键字后面的字符串啊?
然后在取关键字那行后几行中要的数据啊?C#怎么用正则取关键字后面的字符串啊
就是怎么定义“交易终端:”为关键字,然后取后面那串字符,好像是8个那样,然后在去这个关键字这行下面第三行的红色字体的那些数据,这样就取完一次,然后再取第二次关键字“交易终端:”后面的字符串,按照这样取到这个“交易终端:”关键字最后一行不在出现为止。
Excel的内容:
银联公用POS交易对帐单
商户名称:深圳市深港机动车驾驶培训集团有限公司开户银行:中国建设银行股份有限公司深圳大鹏支行
商户代码:898440382490593               开户帐号:44201597000052504631

清算日期:160503                        同城交易日期:20160429-20160502

交易终端:05932058                境内卡扣率:0.0076,境外卡扣率:0.0085

系统参考号        银行帐号         发卡银行    交易类型            交易金额   应扣回佣  交易日
114845087991  439226******3668       招商银行    消费                5880.00   44.98    160429
114804088161  439226******3668       招商银行    消费                5880.00   44.98    160429

交易金额小计:    11760.00
回佣金额小计:       89.96
结算金额小计:    11670.04

交易终端:0593JU03                境内卡扣率:0.0076,境外卡扣率:0.0085

系统参考号        银行帐号         发卡银行    交易类型            交易金额   应扣回佣  交易日
173722339006  623035******9644       农商银行    消费                6180.00   47.28    160429

交易金额小计:     6180.00
回佣金额小计:       47.28
结算金额小计:     6132.72

交易终端:0593JU08                境内卡扣率:0.0076,境外卡扣率:0.0085

系统参考号        银行帐号         发卡银行    交易类型            交易金额   应扣回佣  交易日
202354478689  622848*********3772    农业银行    消费                5880.00   44.98    160429

交易金额小计:     5880.00
回佣金额小计:       44.98
结算金额小计:     5835.02

交易终端:0593JU11                境内卡扣率:0.0076,境外卡扣率:0.0085

系统参考号        银行帐号         发卡银行    交易类型            交易金额   应扣回佣  交易日
150011210954  625996******8333       农业银行    消费                7280.00   55.69    160429

交易金额小计:     7280.00
回佣金额小计:       55.69
结算金额小计:     7224.31

单日商户金额小计:    31100.00
单日回佣金额小计:      237.91
单日结算金额小计:    30862.09

交易终端:05932011                境内卡扣率:0.0076,境外卡扣率:0.0085

系统参考号        银行帐号         发卡银行    交易类型            交易金额   应扣回佣  交易日
155132479302  623058*********1645    平安银行    消费                5880.00   44.98    160430
155045480435  623058*********1645    平安银行    消费                5880.00   44.98    160430

交易金额小计:    11760.00
回佣金额小计:       89.96
结算金额小计:    11670.04
解决方案

35

对正则也是懵懂,试着写了一下

var s = Regex.Matches(HHHH, 
    @"交易终端:(?<ATM>[0-9A-Z]*)([\s\S]*?\r\n){3,3}(?<VALUE>([\s\S]*?\r\n)*?)\s(-+)\s");
foreach (Match m in s)
{
    Console.WriteLine(m.Groups["ATM"].Value + "\n" + m.Groups["VALUE"].Value);
    Console.WriteLine();
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#怎么用正则取关键字后面的字符串啊
喜欢 (0)
[1034331897@qq.com]
分享 (0)