.NET Framework Class Library
Path..::.GetExtension Method

Returns the extension of the specified path string.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)
Syntax

Visual Basic (Declaration)
Public Shared Function GetExtension ( _
    path As String _
) As String
Visual Basic (Usage)
Dim path As String
Dim returnValue As String

returnValue = Path.GetExtension(path)
C#
public static string GetExtension(
    string path
)
Visual C++
public:
static String^ GetExtension(
    String^ path
)
JScript
public static function GetExtension(
    path : String
) : String

Parameters

path
Type: System..::.String
The path string from which to get the extension.

Return Value

Type: System..::.String
A String containing the extension of the specified path (including the "."), nullNothingnullptra null reference (Nothing in Visual Basic), or Empty. If path is nullNothingnullptra null reference (Nothing in Visual Basic), GetExtension returns nullNothingnullptra null reference (Nothing in Visual Basic). If path does not have extension information, GetExtension returns Empty.
Exceptions

ExceptionCondition
ArgumentException

path contains one or more of the invalid characters defined in GetInvalidPathChars.

Remarks

The extension of path is obtained by searching path for a period (.), starting with the last character in path and continuing toward the start of path. If a period is found before a DirectorySeparatorChar or AltDirectorySeparatorChar character, the returned string contains the period and the characters after it; otherwise, Empty is returned.

For a list of common I/O tasks, see Common I/O Tasks.

Examples

The following code example demonstrates using the GetExtension method on a Windows-based desktop platform.

Visual Basic
Dim fileName As String = "C:\mydir.old\myfile.ext"
Dim pathname As String = "C:\mydir.old\"
Dim extension As String

extension = Path.GetExtension(fileName)
Console.WriteLine("GetExtension('{0}') returns '{1}'", fileName, extension)

extension = Path.GetExtension(pathname)
Console.WriteLine("GetExtension('{0}') returns '{1}'", pathname, extension)

' This code produces output similar to the following:
'
' GetExtension('C:\mydir.old\myfile.ext') returns '.ext'
' GetExtension('C:\mydir.old\') returns ''
C#
string fileName = @"C:\mydir.old\myfile.ext";
string path = @"C:\mydir.old\";
string extension;

extension = Path.GetExtension(fileName);
Console.WriteLine("GetExtension('{0}') returns '{1}'", 
    fileName, extension);

extension = Path.GetExtension(path);
Console.WriteLine("GetExtension('{0}') returns '{1}'", 
    path, extension);

// This code produces output similar to the following:
//
// GetExtension('C:\mydir.old\myfile.ext') returns '.ext'
// GetExtension('C:\mydir.old\') returns ''
Visual C++
String^ fileName = "C:\\mydir.old\\myfile.ext";
String^ path = "C:\\mydir.old\\";
String^ extension;
extension = Path::GetExtension( fileName );
Console::WriteLine( "GetExtension('{0}') returns '{1}'", fileName, extension );
extension = Path::GetExtension( path );
Console::WriteLine( "GetExtension('{0}') returns '{1}'", path, extension );

// This code produces output similar to the following:
//
// GetExtension('C:\mydir.old\myfile.ext') returns '.ext'
// GetExtension('C:\mydir.old\') returns ''
JScript
var fileName : String = "C:\\mydir.old\\myfile.ext";
var path : String = "C:\\mydir.old\\";
var extension : String;

extension = Path.GetExtension(fileName);
Console.WriteLine("GetExtension('{0}') returns '{1}'", 
                  fileName, extension);

extension = Path.GetExtension(path);
Console.WriteLine("GetExtension('{0}') returns '{1}'", 
                  path, extension);
Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0
See Also

Reference

Other Resources

Tags :


Community Content

Jack Tripper
Example
"C:\mydir.old\myfile.txt"    ".txt"
"C:\mydir.old\"              ""
"C:\mydir.old\newFile"       ""
"C:\mydir.old\newFile."      ""
"C:\mydir.old\newFile. "     ". "
"C:\mydir.old\newFile. txt"  ". txt"
Tags : example

Thomas Lee
Sample Using PowerShell
# Get-Extension.ps1
  

# Sample using PowerShell

# Thomas Lee - tfl@psp.co.uk

#Set values

$fileName

="C:\mydir.old\myfile.ext"

$path

="C:\mydir.old\"

# Get filename extension

$extension

= [System.IO.Path]::GetExtension($fileName)

"GetExtension('{0}') returns '{1}'"

-f$fileName, $extension

# Get Path Extension (hint: there is none!)

$extension

= [System.IO.Path]::GetExtension($path)

"GetExtension('{0}') returns '{1}'"

-f$path, $extension

This Script produces the following output:

PS C:\foo> .\get-extension.ps1
GetExtension('C:\mydir.old\myfile.ext') returns '.ext'
GetExtension('C:\mydir.old\') returns ''
 


Page view tracker