C# 中 有代码如下: 
string date_str="6.1~7.24"   请问如何使用substring 和indexof() 来讲字符串里的 7 和24 分别提取出来,因为这种数字的位数不确定例如可能是: "16.1~17.28 等等 但是里面的字符'.'和'~'都是这样的格式,请问如何提取字符'~' 后面的17 和28  

解决方案 »

  1.   

    string date_str = "6.1~7.24";
    string[] arr1 = date_str.Split('~');
    string[] arr2 = arr1[1].Split('.');
    string month = arr2[0];
    string day = arr2[1];
      

  2.   

    string date_str = "6.1~7.24";
    string[] s1 = date_str.Split("~");
    string[] s2 = s1[1].Split(".");
    MessageBox.Show(s2[0]); // 7
    MessageBox.Show(s2[1]); // 24
      

  3.   

    private static void TestRegex05()
    {
        string date_str = "6.1~7.24";
        Match m = System.Text.RegularExpressions.Regex.Match(date_str, @"(?<from_Month>\d+)\.(?<from_Day>\d+)~(?<to_Month>\d+)\.(?<to_Day>\d+)");
        if (m.Success)
        {
            Console.WriteLine(m.Groups["from_Month"].Value);
            Console.WriteLine(m.Groups["from_Day"].Value);
            Console.WriteLine(m.Groups["to_Month"].Value);
            Console.WriteLine(m.Groups["to_Day"].Value);
        }
    }