我需要刪除下劃線和它之前的所有字符在我的文件名中。文件名的語法如下:在第一個下劃線後提取子字符串
<username>_<NameofFile>_<InstructorName>_<ClassName>.xls
我想保持一切,但<username>_
部分。
我試着用.Split
如下:
string newfilename = file.Split('_')[1];
但放棄了一切,只保留<NameOfFile>
。
這怎麼可能實現?
我需要刪除下劃線和它之前的所有字符在我的文件名中。文件名的語法如下:在第一個下劃線後提取子字符串
<username>_<NameofFile>_<InstructorName>_<ClassName>.xls
我想保持一切,但<username>_
部分。
我試着用.Split
如下:
string newfilename = file.Split('_')[1];
但放棄了一切,只保留<NameOfFile>
。
這怎麼可能實現?
string newfilename = file.Substring(file.IndexOf('_') + 1);
我認爲這是你最好的選擇。你也可以用'String.Remove(0,i + 1)'來實現,但這會比'String.Substring()'慢。 – Gray
的Split
方法an overload,允許您指定字符串分割成的最大數量。
string newfilename = file.Split(new [] { '_' }, 2).Last();
另外,我建議使用Last()
,而不是[1]
,以獲得完整的字符串時,沒有任何下劃線。
你的用戶名可以用下劃線表示嗎? – Gray