<!--
{
  "availability" : [
    "iOS: 2.0.0 -",
    "iPadOS: 2.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.0.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Foundation",
  "identifier" : "/documentation/Foundation/NSString/deletingLastPathComponent",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Foundation"
    ],
    "preciseIdentifier" : "c:objc(cs)NSString(py)stringByDeletingLastPathComponent"
  },
  "title" : "deletingLastPathComponent"
}
-->

# deletingLastPathComponent

A new string made by deleting the last path component from the receiver, along with any final path separator.

```
var deletingLastPathComponent: String { get }
```

## Discussion

A new string made by deleting the last path component from the receiver, along with any final path separator. If the receiver represents the root path it is returned unaltered.

The following table illustrates the effect of this method on a variety of different paths:

|Receiver’s String Value|Resulting String    |
|-----------------------|--------------------|
|“`/tmp/scratch.tiff`”  |“`/tmp`”            |
|“`/tmp/lock/`”         |“`/tmp`”            |
|“`/tmp/`”              |“`/`”               |
|“`/tmp`”               |“`/`”               |
|“`/`”                  |“`/`”               |
|“`scratch.tiff`”       |“” (an empty string)|

Note that this method only works with file paths (not, for example, string representations of URLs).

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)