文書   >   Swift   >  String   >   Index   >   init(_:within:)
イニシャライザ
init(_:within:)
与えられた UTF-16 ビューで、指定された文字列位置に正確に対応するインデックスを作成します。
宣言
パラメータ
sourcePosition | target によって共有される文字列の少なくとも 1 つのビュー内の位置。 |
target | その中で新しい位置を見つけるための UTF16View。 |
議論
sourcePosition として渡されたインデックスが、Unicode スカラ値の先頭または UTF-16 の末尾の代替の位置を表す場合、イニシャライザは成功します。sourcePosition が target 内の正確に対応する位置を持たない場合、結果は nil です。たとえば、UTF-8 継続バイトの位置を変換しようとすると、nil になります。
以下の例では、文字列内の空白の位置を見つけて、その位置を文字列の utf16 ビュー内のインデックスに変換します。
let cafe = "Café 🍵"
let stringIndex = cafe.firstIndex(of: "é")!
let utf16Index = String.Index(stringIndex, within: cafe.utf16)!
print(cafe.utf16[...utf16Index])
// Prints "Café"
トップへ
トップへ
トップへ
トップへ