我有字符串這樣下面....如何分割字符串獲取日期僅
string a = backup-2011-10-12_17-16-51.zip
我怎麼可以拆分上面的字符串,這樣只能得到這部分2011-10-12
對於我已經試過低於這個,但我不知道如何準確分割字符串這樣
2011-10-12
string[] getfiledate = a.Split(new[] { '.', '-','_' });
將如何分割一個串任何一個請幫助.. .....
提前很多感謝..
我有字符串這樣下面....如何分割字符串獲取日期僅
string a = backup-2011-10-12_17-16-51.zip
我怎麼可以拆分上面的字符串,這樣只能得到這部分2011-10-12
對於我已經試過低於這個,但我不知道如何準確分割字符串這樣
2011-10-12
string[] getfiledate = a.Split(new[] { '.', '-','_' });
將如何分割一個串任何一個請幫助.. .....
提前很多感謝..
如果字符串總是相同的長度,只是使用
a.Substring(7,10)
一個正則表達式將是有益的在這裏。
(\d{4}-\d{2}-\d{2})
我怎樣才能得到日期部分... –
這只是日期部分,除非時間部分可以有一個4位小時。使用像:'Regex.Match(a,「\ d {4} - \ d {2} - \ d {2}」)。Value' – Jimmy
如果你能想到的是正確的格式所有的時間,這將工作
string a = "backup-2011-10-12_17-16-51.zip";
var temp = a.Replace("backup-", String.Empty);
temp = temp.Substring(0, temp.IndexOf('_'));
非常快速和骯髒的
string a = "backup-2011-10-12_17-16-51.zip";
string g = a.Replace("backup-", string.Empty);
string k = g.Remove(g.IndexOf("_"));
這是我的個人偏好orite:
DateTime dt = DateTime.ParseExact("backup-2011-10-12_17-16-51.ip", "backup-yyyy-dd-MM_HH-mm-ss.ip", null);
這避免了串計算,但如果你會發現我不得不從拉鍊,因爲時區計算ž刪除的Z在你的例子是GMT偏移......如果你能避免Z,那麼這個工作非常好。
編輯用於更真棒答案
使用@和\逃離Z:
DateTime dt = DateTime.ParseExact("backup-2011-10-12_17-16-51.zip", @"backup-yyyy-dd-MM_HH-mm-ss.\zip", null);
如果你需要做的就是字面上檢索該字符串完全相同的日期,你可以使用'String.Substring(7,10)',它將抓取從索引7開始的連續10個字符。但是我懷疑你想要一個更通用的解決方案。所以:字符串總是保證以'backup-'開始? –
@djacobson是字符串總是以備份開始-......更改只在日期... –
猜猜這是解決它,然後。 –