---
title: "removeAll(where:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/string/removeall(where:)"
---

# removeAll(where:)

Removes all the elements that satisfy the given predicate.

## Declaration

```swift
mutating func removeAll(where shouldBeRemoved: (Self.Element) throws -> Bool) rethrows
```

## Parameters

- `shouldBeRemoved`: A closure that takes an element of the sequence as its argument and returns a Boolean value indicating whether the element should be removed from the collection.

## Discussion

Discussion Use this method to remove every element in a collection that meets particular criteria. The order of the remaining elements is preserved. This example removes all the vowels from a string: var phrase = "The rain in Spain stays mainly in the plain."

let vowels: Set<Character> = ["a", "e", "i", "o", "u"] phrase.removeAll(where: { vowels.contains($0) }) // phrase == "Th rn n Spn stys mnly n th pln." note: O(n), where n is the length of the collection.

## See Also

### Removing Substrings

- [remove(at:)](swift/string/remove(at:).md)
- [remove(at:)](swift/string/remove(at:)-5g0wm.md)
- [removeAll(keepingCapacity:)](swift/string/removeall(keepingcapacity:).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)
