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 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记