Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <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));
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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));
        }