Instance Method

filter(_:)

Returns a new collection of the same type containing, in order, the elements of the original collection that satisfy the given predicate.

Declaration

func filter(_ isIncluded: (Character) throws -> Bool) rethrows -> String

Parameters

isIncluded

A closure that takes an element of the sequence as its argument and returns a Boolean value indicating whether the element should be included in the returned collection.

Return Value

A collection of the elements that isIncluded allowed.

Discussion

In this example, filter(_:) is used to include only names shorter than five characters.

let cast = ["Vivien", "Marlon", "Kim", "Karl"]
let shortNames = cast.filter { $0.count < 5 }
print(shortNames)
// Prints "["Kim", "Karl"]"

Complexity: O(n), where n is the length of the collection.

See Also

Removing Substrings

func remove(at: String.Index) -> Character

Removes and returns the character at the specified position.

func removeAll(keepingCapacity: Bool)

Replaces this string with the empty string.

func removeAll(where: (Character) -> Bool)

Removes all the elements that satisfy the given predicate.

func removeFirst() -> Character

Removes and returns the first element of the collection.

func removeFirst(Int)

Removes the specified number of elements from the beginning of the collection.

func removeLast() -> Character

Removes and returns the last element of the collection.

func removeLast(Int)

Removes the specified number of elements from the end of the collection.

func removeSubrange(Range<String.Index>)

Removes the characters in the given range.

func removeSubrange<R>(R)

Removes the elements in the specified subrange from the collection.

func drop(while: (Character) -> Bool) -> Substring

Returns a subsequence by skipping elements while predicate returns true and returning the remaining elements.

func dropFirst(Int) -> Substring

Returns a subsequence containing all but the given number of initial elements.

func dropLast(Int) -> Substring

Returns a subsequence containing all but the specified number of final elements.

func popLast() -> Character?

Removes and returns the last element of the collection.