文書   >   Swift   >  String   >   Index   >   samePosition(in:)
インスタンスメソッド
samePosition(in:)
このインデックスに正確に対応する、与えられたビュー内の Unicode スカラの位置を返します。
宣言
パラメータ
unicodeScalars | インデックス変換に使用するビュー。このインデックスは、unicodeScalars によって共有される文字列の少なくとも 1 つのビューの有効なインデックスでなければなりません。 |
戻り値
このインデックスに正確に対応する unicodeScalars 内の位置。このインデックスが unicodeScalars 内の正確に対応する位置を持たない場合、このメソッドは nil を返します。たとえば、UTF-16 に続く代替の位置を変換しようとすると、nil が返されます。
議論
このインデックスは、String(unicodeScalars).utf16 の有効なインデックスでなければなりません。
この例では、最初に文字列の utf16 ビュー内の空白の位置 (UTF-16 コードポイント 32) を見つけ、次にこのメソッドを使って文字列の unicodeScalars ビュー内の同じ位置を見つけます。
let cafe = "Café 🍵"
let i = cafe.utf16.firstIndex(of: 32)!
let j = i.samePosition(in: cafe.unicodeScalars)!
print(cafe.unicodeScalars[..<j])
// Prints "Café"
トップへ
トップへ
トップへ
トップへ