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 など) を正しく取得することを心配する必要はありません。また、空のエントリを削除することもでき、(IMHO) コードの意図が少し読みやすくなります。

于 2013-11-01T04:00:52.813 に答える