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

samePosition(in:)

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

Declaration 宣言

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

Parameters パラメータ

utf8

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

Return Value 戻り値

The position in utf8 that corresponds exactly to this index. If this index does not have an exact corresponding position in utf8, this method returns nil. For example, an attempt to convert the position of a UTF-16 trailing surrogate returns nil. このインデックスに正確に対応するutf8の中の位置。このインデックスがまさにその対応する位置をutf8において持たないならば、イニシャライザの結果はnilです。例えば、UTF-16の後続サロゲートの位置を変換する試みはnilを返します。

Discussion 解説

This example first finds the position of the character "é", and then uses this method find the same position in the string’s utf8 view. この例は、最初に文字"é"の位置を見つけて、それからこのメソッドを使って文字列のもつutf8ビューにおける同じ位置を見つけます。


let cafe = "Café"
if let i = cafe.firstIndex(of: "é") {
    let j = i.samePosition(in: cafe.utf8)!
    print(Array(cafe.utf8[j...]))
}
// Prints "[195, 169]"