none
请问C#有没有类似c语言中fscan的函数? RRS feed

  • 问题

  • 我想在一个字符串中同时解析出多个数值,不知道C#中如何实现

    如: int Year, Month, Day;

    somefunc("%n年%n月%n日",  Year, Month, Day) 然后取得年月日。的变量。

    或者如果能直接将“2010年5月8日12时30分28秒”解析成一个Datetime对象也可以。

    谢谢:)

    2010年5月13日 5:54

答案

  • using System.Text.RegularExpressions;
    
     private void button3_Click(object sender, EventArgs e)
        {
              string abc = "2010年5月8日12时30分28秒";
          abc =Regex.Replace(abc, @"[^\d]", "-");
          abc = abc.Substring(0, abc.Length - 1);
          string[] arr = abc.Split('-');
          string date=arr[0]+"-"+arr[1]+"-"+arr[2];
          string time=arr[3]+":"+arr[4]+":"+arr[5];
          string fulltime = date + " " + time;
    
          DateTime dt = DateTime.Parse(fulltime);
          MessageBox.Show(dt.ToString());
          
         
        }

    努力+方法=成功
    2010年5月13日 6:42
  • 直接 Parse 即可,

    DateTime dt = DateTime.Parse("2010年5月8日12时30分28秒", System.Globalization.CultureInfo.GetCultureInfo("zh-cn"));


    问题要简单,错误须详细@错误/异常/堆栈信息+操作系统+软件版本+all the context of the issue Hope Helpful | http://www.leoworks.net
    2010年5月13日 6:49

全部回复

  • using System.Text.RegularExpressions;
    
     private void button3_Click(object sender, EventArgs e)
        {
              string abc = "2010年5月8日12时30分28秒";
          abc =Regex.Replace(abc, @"[^\d]", "-");
          abc = abc.Substring(0, abc.Length - 1);
          string[] arr = abc.Split('-');
          string date=arr[0]+"-"+arr[1]+"-"+arr[2];
          string time=arr[3]+":"+arr[4]+":"+arr[5];
          string fulltime = date + " " + time;
    
          DateTime dt = DateTime.Parse(fulltime);
          MessageBox.Show(dt.ToString());
          
         
        }

    努力+方法=成功
    2010年5月13日 6:42
  • 直接 Parse 即可,

    DateTime dt = DateTime.Parse("2010年5月8日12时30分28秒", System.Globalization.CultureInfo.GetCultureInfo("zh-cn"));


    问题要简单,错误须详细@错误/异常/堆栈信息+操作系统+软件版本+all the context of the issue Hope Helpful | http://www.leoworks.net
    2010年5月13日 6:49
  • 真的不错
    "Xiaofeng Wang" 写入消息 news:f5a4a4f0-0969-4efd-a7df-7dbe3fb4730e...
    直接 Parse 即可,

    DateTime dt = DateTime.Parse("2010年5月8日12时30分28秒", System.Globalization.CultureInfo.GetCultureInfo("zh-cn"));


    问题要简单,错误须详细@错误/异常/堆栈信息+操作系统+软件版本+all the context of the issue Hope Helpful | http://www.leoworks.net
    2010年5月14日 6:16