我有这样的字符串......
string a = backup-2011-10-12_17-16-51.zip
如何拆分上面的字符串以便只获取此部分2011-10-12
为此,我在下面尝试了这个,但我不确定如何将字符串拆分为这样
2011-10-12
string[] getfiledate = a.Split(new[] { '.', '-','_' });
任何人都会帮忙解决如何分割一个字符串...... .....
非常感谢提前..
答案 0 :(得分:4)
如果字符串的长度始终相同,请使用
a.Substring(7,10)
答案 1 :(得分:3)
正则表达式在这里会有所帮助。
(\d{4}-\d{2}-\d{2})
答案 2 :(得分:2)
这是我个人的最爱:
DateTime dt = DateTime.ParseExact("backup-2011-10-12_17-16-51.ip", "backup-yyyy-dd-MM_HH-mm-ss.ip", null);
这可以避免子串计算,但是如果你注意到我必须在你的例子中从zip中删除z,因为在时区计算中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);
答案 3 :(得分:0)
如果您可以一直期望这种确切的格式
string a = "backup-2011-10-12_17-16-51.zip";
var temp = a.Replace("backup-", String.Empty);
temp = temp.Substring(0, temp.IndexOf('_'));
答案 4 :(得分:0)
非常快速和肮脏
string a = "backup-2011-10-12_17-16-51.zip";
string g = a.Replace("backup-", string.Empty);
string k = g.Remove(g.IndexOf("_"));