Search code examples
c#pathfilenamesfile-extensionpath-manipulation

Given a filesystem path, is there a shorter way to extract the filename without its extension?


I program in WPF C#. I have e.g. the following path:

C:\Program Files\hello.txt

and I want to extract hello from it.

The path is a string retrieved from a database. Currently I'm using the following code to split the path by '\' and then split again by '.':

string path = "C:\\Program Files\\hello.txt";
string[] pathArr = path.Split('\\');
string[] fileArr = pathArr.Last().Split('.');
string fileName = fileArr.Last().ToString();

It works, but I believe there should be shorter and smarter solution to that. Any idea?


Solution

  • Path.GetFileName

    Returns the file name and extension of a file path that is represented by a read-only character span.


    Path.GetFileNameWithoutExtension

    Returns the file name without the extension of a file path that is represented by a read-only character span.


    The Path class is wonderful.