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

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

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# 中完成?

4

3 回答 3

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); 

它现在将输出

日期:2013 年 12 月 11 日

于 2013-11-01T04:02:26.180 回答
2

尝试这个:

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

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

于 2013-11-01T04:00:52.813 回答
0
string tmp = "Monday; 12/11/2013 | 0.23.59";
            string date = tmp.Split(' ')[1];
于 2013-11-02T21:05:49.670 回答