在第一个下划线后提取子字符串

时间:2014-02-21 13:40:56

标签: c# split substring

我需要在文件名中删除下划线和所有字符。文件名的语法如下:

<username>_<NameofFile>_<InstructorName>_<ClassName>.xls  

我想保留一切但<username>_部分 我尝试使用.Split,如下所示:

string newfilename = file.Split('_')[1];

但是这放弃了一切,只保留<NameOfFile> 怎么可以实现呢?

2 个答案:

答案 0 :(得分:9)

string newfilename = file.Substring(file.IndexOf('_') + 1);

答案 1 :(得分:2)

Split方法有an overload,允许您指定要拆分的最大子字符串数。

string newfilename = file.Split(new [] { '_' }, 2).Last();

另外,我建议使用Last()代替[1],以便在没有任何下划线时获取完整字符串。