保存分成3个不同字符串的字符串部分

时间:2012-10-12 18:10:23

标签: c# string split

 /* string fecha_act = DateTime.Now.ToString("d/MM/yy"); */
date_act = "10-12-12"  
string[] splitting = date_act.Split('-');

foreach (string split in splitting)
{
    MessageBox.Show(split);
}

上面的代码显示了字符串中的日期。该字符串将分为三部分。 说,我需要将这三个部分保存在三个不同的字符串中。

string day_act;
string month_act;
string year_act;

我试过用计数器和开关来做,但它不起作用。 有什么建议吗?

3 个答案:

答案 0 :(得分:7)

string day_act;
string month_act;
string year_act;

string[] separando = date_act.Split('-');

day_act = separando[0];
month_act = separando[1];
year_act = separando[2];

或者,更好的是,让自己成为一个真实的约会对象:

string date_act = "10-12-12";
var foo = DateTime.ParseExact(date_act, "MM-dd-yy", null);

然后,您可以查看foo.Dayfoo.Month等属性。

答案 1 :(得分:3)

这不会有用吗?这很直截了当,我怀疑你已经尝试过了。

day_act = separando[0];
month_act = separando[1];
year_act = separando[2];

修改

所以你想要Split的替代方法吗?以下是一些:

  • 使用DateTime.Parse方法的变体(如其他答案中所述)。

  • 使用正则表达式。

    var match = Regex.Match(date, @"(?<day>\d+)-(?<month>\d+)-(?<year>\d+)");
    day_act = match.Groups["day"].Value;
    month_act = match.Groups["month"].Value;
    year_act = match.Groups["year"].Value;
    

答案 2 :(得分:0)

这两个答案都解决了我提出的问题,但为了最终解决我的问题,我选择了一个替代解决方案,并不意味着使用拆分。在这种情况下,是一个子字符串。

day_act = date_act.Substring(0,2);
month_act = date_act.Substring(3,2);
year_act = date_act.Substring(6,2);