110,533
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Text.RegularExpressions;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
string txt = @"楼主 发表于: 2016-05-31 12:30:55
字符串截取 字符串如下:
店铺 : *****商铺*******
交易时间 : 2016-05-28 16:47:25
营业员 : 收银员 : 张三
交易方式 : 销售 单据号 : 6U4452800015
顾客卡号 : 2100*****9156
手机号码 : 186****6500
统参考号 : 000628550564
---------------------购物明细--------------------
商品 数量 方式 单价 折扣 金额
16214503133311 1 1 658 100% 658.00
---------------------支付方式--------------------
总计 : 1 总金额 : 658.00
信用卡:658
店铺 : *****商铺*******
交易时间 : 2016-05-28 16:47:25
营业员 : 收银员 : 张三
交易方式 : 销售 单据号 : 6U4452800016
顾客卡号 : 2100*****9156
手机号码 : 186****6500
系统参考号 : 000628550564
---------------------购物明细--------------------
商品 数量 方式 单价 折扣 金额
216214503133311 1 1 429 100% 429.00
---------------------支付方式--------------------
总计 : 1 总金额 : 429.00
信用卡:429
店铺 : *****商铺*******
交易时间 : 2016-05-28 16:47:25
营业员 : 收银员 : 张三
交易方式 : 销售 单据号 : 6U4452800017
顾客卡号 : 2100*****9156
手机号码 : 186****6500
系统参考号 : 000628550564
---------------------购物明细--------------------
商品 数量 方式 单价 折扣 金额
216214503133311 1 1 958 100% 958.00
---------------------支付方式--------------------
总计 : 1 总金额 : 958.00
信用卡:958";
string pattern = @"(?<=单据号\s*:\s*)([^\n\r]*)[\s\S]*?总金额\s*:\s*([^\n\r]*)";
foreach (Match match in Regex.Matches(txt, pattern))
{
Console.WriteLine("单据号:{0}\t总金额:{1}", match.Groups[1].Value, match.Groups[2].Value);
}
}
}
}
string txt = @"楼主 发表于: 2016-05-31 12:30:55
字符串截取 字符串如下:
店铺 : *****商铺*******
交易时间 : 2016-05-28 16:47:25
营业员 : 收银员 : 张三
交易方式 : 销售 单据号 : 6U4452800015
顾客卡号 : 2100*****9156
手机号码 : 186****6500
统参考号 : 000628550564
---------------------购物明细--------------------
商品 数量 方式 单价 折扣 金额
16214503133311 1 1 658 100% 658.00
---------------------支付方式--------------------
总计 : 1 总金额 : 658.00
信用卡:658
店铺 : *****商铺*******
交易时间 : 2016-05-28 16:47:25
营业员 : 收银员 : 张三
交易方式 : 销售 单据号 : 6U4452800016
顾客卡号 : 2100*****9156
手机号码 : 186****6500
系统参考号 : 000628550564
---------------------购物明细--------------------
商品 数量 方式 单价 折扣 金额
216214503133311 1 1 429 100% 429.00
---------------------支付方式--------------------
总计 : 1 总金额 : 429.00
信用卡:429
店铺 : *****商铺*******
交易时间 : 2016-05-28 16:47:25
营业员 : 收银员 : 张三
交易方式 : 销售 单据号 : 6U4452800017
顾客卡号 : 2100*****9156
手机号码 : 186****6500
系统参考号 : 000628550564
---------------------购物明细--------------------
商品 数量 方式 单价 折扣 金额
216214503133311 1 1 958 100% 958.00
---------------------支付方式--------------------
总计 : 1 总金额 : 958.00
信用卡:958";
string pattern = @"(?<=单据号\s*:\s*)([^\n\r]*)[\s\S]*?总金额\s*:\s*([^\n\r]*)";
foreach (Match m in Regex.Matches(txt, pattern))
{
Console.WriteLine("单据号:{0} 总金额:{1}", m.Groups[1].Value, m.Groups[2].Value);
}
string test = @"店铺 : *****商铺*******
交易时间 : 2016-05-28 16:47:25
营业员 : 收银员 : 张三
交易方式 : 销售 单据号 : 6U4452800015
顾客卡号 : 2100*****9156
手机号码 : 186****6500
统参考号 : 000628550564
---------------------购物明细--------------------
商品 数量 方式 单价 折扣 金额
16214503133311 1 1 658 100% 658.00
---------------------支付方式--------------------
总计 : 1 总金额 : 658.00
信用卡:658
店铺 : *****商铺*******
交易时间 : 2016-05-28 16:47:25
营业员 : 收银员 : 张三
交易方式 : 销售 单据号 : 6U4452800016
顾客卡号 : 2100*****9156
手机号码 : 186****6500
系统参考号 : 000628550564
---------------------购物明细--------------------
商品 数量 方式 单价 折扣 金额
216214503133311 1 1 429 100% 429.00
---------------------支付方式--------------------
总计 : 1 总金额 : 429.00
信用卡:429
店铺 : *****商铺*******
交易时间 : 2016-05-28 16:47:25
营业员 : 收银员 : 张三
交易方式 : 销售 单据号 : 6U4452800017
顾客卡号 : 2100*****9156
手机号码 : 186****6500
系统参考号 : 000628550564
---------------------购物明细--------------------
商品 数量 方式 单价 折扣 金额
216214503133311 1 1 958 100% 958.00
---------------------支付方式--------------------
总计 : 1 总金额 : 958.00
信用卡:958";
Regex regOrder = new Regex("单据号 : (.+)");
MatchCollection matchOrder = regOrder.Matches(test);
Regex regMoney = new Regex("总金额 : (.+)");
MatchCollection matchMoney = regMoney.Matches(test);
StringBuilder sb = new StringBuilder();
MessageBox.Show(matchOrder.Count.ToString() + matchMoney.Count.ToString());
for (int i = 0; i < matchOrder.Count; i++)
{
sb.Append(matchOrder[i].Groups[1].Value.TrimEnd());
sb.Append(" ");
sb.Append(matchMoney[i].Groups[1].Value);
}
this.richTextBox1.Text = sb.ToString();