bright1219 2016-05-31 04:17 采纳率: 0%
浏览 1644

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条回答 默认 最新

  • woichenhuan 2016-05-31 11:14
    关注

    直接贴代码了,有问题私信
    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();
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog