如何从中获取日期字符串?

时间:2013-11-01 03:59:23

标签: c# string parsing

string tmp = "Monday; 12/11/2013 | 0.23.59

我如何获得日期字符串,即12/11/2013。我试过这个:

int sep=tmp.IndexOf(";");
int lat=tmp.IndexOf("|");
string thu = tmp.Substring(0, sep);
string tem = tmp.Substring(lat + 1);
string ngay = tmp.Substring(sep, tmp.Length - (sep+tem.Length);
Console.WriteLine("Date: {0}", ngay);

如何在C#中完成?

3 个答案:

答案 0 :(得分:4)

如果您只想要日期部分,那么您计算出的算法只需要稍微调整一下。试试这个:

string tmp = "Monday; 12/11/2013 | 0.23.59";

int sep=tmp.IndexOf(";") + 2; // note the + 2
int lat=tmp.IndexOf("|") - 2; // note the - 2
string thu = tmp.Substring(0, sep);
string tem = tmp.Substring(lat + 1);
string ngay = tmp.Substring(sep, tmp.Length - (sep+tem.Length));
Console.WriteLine("Date: {0}", ngay); 

现在输出

  

日期:12/11/2013

答案 1 :(得分:2)

试试这个:

string tmp = "Monday; 12/11/2013 | 0.23.59";
var dateString = tmp.Split(new [] { ';', '|' })[1].Trim();

String.Split()允许您指定分隔符,因此您不必担心位置偏移(例如+2,-1等)是否正确。它还允许您删除空条目,(IMHO),更容易阅读代码的意图。

答案 2 :(得分:0)

string tmp = "Monday; 12/11/2013 | 0.23.59";
            string date = tmp.Split(' ')[1];