C#如果按照要求提取字符串中指定的数据项

字符串如下:


店铺 : *****商铺*******
交易时间 : 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


需要将如上的字符串中,提取【单据号 :】后面的12位字符,同时需要提取【总金额 :】后面的金额项,要将上面的字符串转换成如下的三条记录:

6U4452800015 658.00
6U4452800016 429.00
6U4452800017 958.00

C#应该怎么实现呀。谢谢啦!

1个回答

直接贴代码了,有问题私信
static void Main(string[] args)
{
try
{
string filePath = @"C:\test\原始单据.txt";
string result = "";
using (StreamReader sr = new StreamReader(filePath, Encoding.Default))
{
string fileContent = string.Empty;
string strLine = string.Empty;
while (strLine != null)
{
strLine = sr.ReadLine();
if (strLine != null)
{
if (strLine.Contains("单据号 :"))
{
string djh = strLine.Substring(strLine.IndexOf("单据号 :") + 5);
result += djh + " ";
}
else if (strLine.Contains("总金额 :"))
{
string je = strLine.Substring(strLine.IndexOf("总金额 :") + 5);
result += je + "\r\n";
}
}
}

            }
            Console.WriteLine(result);
            Console.Read();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        Console.Read();
    }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问