如何使用filetype.split拆分两个字符串?

时间:2011-10-11 14:24:17

标签: c# .net winforms file

我有一个字符串如下:

string name ="C:\folder\back-201190082233.zip";

如何从字符串201190082233中仅获取部分name?我尝试了这样的唯一部分201190082233

string filetype = name;
string[] getfiledate = filetype.Split('-');

但是我得到了201190082233.zip部分。现在我想只得到201190082233部分。有人请帮忙吗?

7 个答案:

答案 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");