我有一个字符串如下:
string name ="C:\folder\back-201190082233.zip";
如何从字符串201190082233
中仅获取部分name
?我尝试了这样的唯一部分201190082233
string filetype = name;
string[] getfiledate = filetype.Split('-');
但是我得到了201190082233.zip
部分。现在我想只得到201190082233
部分。有人请帮忙吗?
答案 0 :(得分:2)
使用正则表达式似乎是个好主意:
var match = Regex.Match("back.201190082233.zip" , @"(?<=-)\d+(?=\.)");
if(match.Success)
{
var numericPart = match.Value;
}
编辑:
如果您正在处理路径,.Net会提供帮助:
string name = @"C:\folder\back.201190082233.zip";
var fileName = Path.GetFileName(name);
var match = Regex.Match(fileName , @"(?<=-)\d+(?=\.)");
if(match.Success)
{
var numericPart = match.Value;
}
答案 1 :(得分:1)
string name = "C:\folder\back-201190082233.zip";
string filetype = name;
string[] getfiledate = filetype.Split(new[] {'.', '-'});
string datepart = getfiledate[1];
答案 2 :(得分:1)
这样怎么样?
var fileDate= filetype.Split('.')[1];
编辑更新
var fileDate = Path.GetFileNameWithoutExtension(filetype).Split('.')[0]
答案 3 :(得分:1)
可能
var date = Path.GetFileNameWithoutExtension( name ).Split('-')[1];
就足够了。
请参阅函数Path.GetFileNameWithoutExtension
的文档。
答案 4 :(得分:0)
为什么要用' - '分裂?不应该是'。' ?
string numberPart = filetype.Split('.')[1];
答案 5 :(得分:0)
您可以使用以下内容
string str = name.Split(".")[1];
希望这会有所帮助!!
答案 6 :(得分:0)
或者如果字符串发生变化,您可以使用像这样的特定于正则表达式:
string s = Regex.Replace("back.201190082233.zip", @"[^\.]+\.([^\.]+)\..*", "$1");