Instance Method


Returns the position in the given string that corresponds exactly to this index.


func samePosition(in characters: String) -> String.Index?



The string to use for the index conversion. This index must be a valid index of at least one view of characters.

Return Value

The position in characters that corresponds exactly to this index. If this index does not have an exact corresponding position in characters, this method returns nil. For example, an attempt to convert the position of a UTF-8 continuation byte returns nil.


This example first finds the position of a space (UTF-8 code point 32) in a string’s utf8 view and then uses this method find the same position in the string.

let cafe = "Café 🍵"
let i = cafe.unicodeScalars.firstIndex(of: "🍵")
let j = i.samePosition(in: cafe)!
// Prints "🍵"