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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)