2014-02-21 38 views
0

我需要刪除下劃線和它之前的所有字符在我的文件名中。文件名的語法如下:在第一個下劃線後提取子字符串

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

我想保持一切,但<username>_部分。
我試着用.Split如下:

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

但放棄了一切,只保留<NameOfFile>
這怎麼可能實現?

+0

你的用戶名可以用下劃線表示嗎? – Gray

回答

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

我認爲這是你最好的選擇。你也可以用'String.Remove(0,i + 1)'來實現,但這會比'String.Substring()'慢。 – Gray

1

Split方法an overload,允許您指定字符串分割成的最大數量。

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

另外,我建議使用Last(),而不是[1],以獲得完整的字符串時,沒有任何下劃線。

相關問題