/// <summary> /// The returned ReadOnlySpan contains the characters of the path that follows the last separator in path. /// </summary> public static ReadOnlySpan <char> GetFileName(ReadOnlySpan <char> path) { int offset = PathInternal.FindFileNameIndex(path); int count = path.Length - offset; return(path.Slice(offset, count)); }
/// <summary> /// Returns the characters between the last separator and last (.) in the path. /// </summary> public static ReadOnlySpan <char> GetFileNameWithoutExtension(ReadOnlySpan <char> path) { int length = path.Length; int offset = PathInternal.FindFileNameIndex(path); int end = path.Slice(offset, length - offset).LastIndexOf('.'); return(end == -1 ? path.Slice(offset) : // No extension was found path.Slice(offset, end)); }
public static string GetFileName(string path) { if (path == null) { return(null); } int offset = PathInternal.FindFileNameIndex(path); int count = path.Length - offset; return(path.Substring(offset, count)); }
public static string GetFileNameWithoutExtension(string path) { if (path == null) { return(null); } int length = path.Length; int offset = PathInternal.FindFileNameIndex(path); int end = path.LastIndexOf('.', length - 1, length - offset); return(end == -1 ? path.Substring(offset) : // No extension was found path.Substring(offset, end - offset)); }