爲什麼使用正則表達式,當你可以在c#中做到這一點?
我爲您創建了一個功能:
public static class FileNameHelper
{
public static string GetFileNameFromPath(string path, string extWithoutdot = "cs")
{
var startIndex = path.LastIndexOf('/') + 1;
var stringg = path.Substring(startIndex);
var remIndex = stringg.LastIndexOf("." + extWithoutdot) + extWithoutdot.Length+1;
return stringg.Remove(remIndex);
}
}
如何使用?
string filename=FileNameHelper.GetFileNameFromPath("//source/project/file.initial.config.cs#232","cs");
記住使用擴展不.
看到這個擁有超過正則表達式很多優勢。它們是:
- 它不是正則表達式!
- 其快速高效。
- 它的可讀性和純C#
注:不要使用在C#中的正則表達式瑣碎的事情。這絕對是對性能的一個打擊。首先想想在c#中實現它的方法。正則表達式應該是最後的手段。當然,如果表現不重要,請使用任何!
順便說一句,如果它有幫助,將其標記爲答案。 我知道它會幫助:)
如果文件名包含'#'會怎麼樣? – jamesdlin
那些是不好的juju,但我已經編輯了我的答案來解釋它們。使它稍微複雜一些,但並不過分。 – Mark