Method pathname.getDirectory
Overload
Removes filename part from path.
By default also removes separator ('\\' or '/') if it is not after drive name (eg "C:").
public static string getDirectory(string path, bool withSeparator = false)
Parameters
|
path (string)
Path or filename. Can be |
|
withSeparator (bool)
Don't remove separator character(s) ( |
Returns
|
string
Returns |
Remarks
Similar to System.IO.Path.GetDirectoryName. Some differences: skips '\\' or '/' at the end (eg from @"C:\A\B\" gets @"C:\A", not @"C:\A\B"); does not replace '/' with '\\'.
Parses raw string. You may want to pathname.normalize it at first.
Supports separators '\\' and '/'.
Also supports URL and shell parsing names like @"::{CLSID-1}\0\::{CLSID-2}".
Examples:
| path | result |
|---|---|
@"C:\A\B\file.txt"
|
@"C:\A\B"
|
"file.txt"
|
""
|
@"C:\A\B\"
|
@"C:\A"
|
@"C:\A\/B\/"
|
@"C:\A"
|
@"C:\"
|
null
|
@"\\network\share"
|
null
|
"http:"
|
null
|
@"C:\aa\file.txt:alt.stream"
|
"C:\aa"
|
"http://a.b.c"
|
"http:"
|
"::{A}\::{B}"
|
"::{A}"
|
""
|
""
|
null
|
null
|
Examples when withSeparator true:
| path | result |
|---|---|
@"C:\A\B"
|
@"C:\A\" (not @"C:\A") |
"http://x.y"
|
"http://" (not "http:") |