---
title: "remove(at:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/string/remove(at:)-5g0wm"
---

# remove(at:)

Removes and returns the element at the specified position.

## Declaration

```swift
@discardableResult mutating func remove(at position: Self.Index) -> Self.Element
```

## Parameters

- `position`: The position of the element to remove. position must be a valid index of the collection that is not equal to the collection’s end index.

## Return Value

Return Value The removed element.

## Discussion

Discussion All the elements following the specified position are moved to close the gap. This example removes the middle element from an array of measurements. var measurements = [1.2, 1.5, 2.9, 1.2, 1.6] let removed = measurements.remove(at: 2) print(measurements) // Prints "[1.2, 1.5, 1.2, 1.6]" Calling this method may invalidate any existing indices for use with this collection. note: O(n), where n is the length of the collection.

## See Also

### Removing Substrings

- [remove(at:)](swift/string/remove(at:).md)
- [removeAll(keepingCapacity:)](swift/string/removeall(keepingcapacity:).md)
- [removeAll(where:)](swift/string/removeall(where:).md)
- [removeFirst()](swift/string/removefirst().md)
- [removeFirst(_:)](swift/string/removefirst(_:).md)
- [removeLast()](swift/string/removelast().md)
- [removeLast(_:)](swift/string/removelast(_:).md)
- [removeSubrange(_:)](swift/string/removesubrange(_:).md)
- [removeSubrange(_:)](swift/string/removesubrange(_:)-8maxn.md)
- [removeSubrange(_:)](swift/string/removesubrange(_:)-9twng.md)
- [drop(while:)](swift/string/drop(while:).md)
- [dropFirst(_:)](swift/string/dropfirst(_:).md)
- [dropLast(_:)](swift/string/droplast(_:).md)
- [popLast()](swift/string/poplast().md)
