Instance Method インスタンスメソッド

samePosition(in:)

Returns the position in the given string that corresponds exactly to this index. 与えられた文字列の中のある位置を返します、それは正確にこのインデックスに対応します。

Declaration 宣言

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

Parameters パラメータ

characters

The string to use for the index conversion. This index must be a valid index of at least one view of characters. インデックス変換に使う文字列。このインデックスは、charactersの少なくとも1つのビューで有効なインデックスでなければなりません。

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. このインデックスに正確に対応するcharactersの中の位置。このインデックスがまさにその対応する位置をcharactersにおいて持たないならば、イニシャライザの結果はnilです。例えば、UTF-8の継続バイトの位置を変換する試みはnilを返します。

Discussion 解説

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. この例は、ある空白(UTF-8コード点32)の位置を文字列のもつutf8ビューの中で見つけて、それからこのメソッドを使って文字列における同じ位置を捜します。


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