用法一
samePosition(in:)
声明
func samePosition(in utf8: String.UTF8View) -> String.UTF8View.Index?
返回值
utf8
中与该索引完全对应的位置。如果此索引在 utf8
中没有精确对应的位置,则此方法返回 nil
。例如,尝试转换 UTF-16 尾随代理项的位置会返回 nil
。
参数
utf8
用于索引转换的视图。此索引必须是由
utf8
共享的字符串的至少一个视图的有效索引。
详述
此示例首先找到字符 "é"
的位置,然后使用此方法在字符串的 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]"
可用版本
用法二
samePosition(in:)
声明
func samePosition(in unicodeScalars: String.UnicodeScalarView) -> String.UnicodeScalarIndex?
返回值
unicodeScalars
中与该索引完全对应的位置。如果此索引在 unicodeScalars
中没有精确对应的位置,则此方法返回 nil
。例如,尝试转换 UTF-16 尾随代理项的位置会返回 nil
。
参数
unicodeScalars
用于索引转换的视图。此索引必须是由
unicodeScalars
共享的字符串的至少一个视图的有效索引。
详述
此索引必须是 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(String(cafe.unicodeScalars[..<j]))
// Prints "Café"
可用版本
用法三
samePosition(in:)
声明
func samePosition(in characters: String) -> String.Index?
返回值
characters
中与该索引完全对应的位置。如果此索引在 characters
中没有精确对应的位置,则此方法返回 nil
。例如,尝试转换 UTF-8 连续字节的位置会返回 nil
。
参数
characters
用于索引转换的字符串。该索引必须是至少一个
characters
视图的有效索引。
详述
此示例首先在字符串的 utf8
视图中查找空格(UTF-8 代码点 32
)的位置,然后使用此方法在字符串中查找相同的位置。
let cafe = "Café 🍵"
let i = cafe.unicodeScalars.firstIndex(of: "🍵")!
let j = i.samePosition(in: cafe)!
print(cafe[j...])
// Prints "🍵"
可用版本
用法四
samePosition(in:)
声明
func samePosition(in utf16: String.UTF16View) -> String.UTF16View.Index?
返回值
utf16
中与该索引完全对应的位置。如果此索引在 utf16
中没有精确对应的位置,则此方法返回 nil
。例如,尝试转换 UTF-8 连续字节的位置会返回 nil
。
参数
utf16
用于索引转换的视图。此索引必须是由
utf16
共享的字符串的至少一个视图的有效索引。
详述
索引必须是 String(utf16)
的有效索引。
此示例首先查找字符"é"
的位置,然后使用此方法在字符串的utf16
视图中查找相同的位置。
let cafe = "Café"
if let i = cafe.firstIndex(of: "é") {
let j = i.samePosition(in: cafe.utf16)!
print(cafe.utf16[j])
}
// Prints "233"
可用版本
相关用法
- Swift String.Index ..<(_:_:)用法及代码示例
- Swift String.Index init(_:within:)用法及代码示例
- Swift String.Index ...(_:_:)用法及代码示例
- Swift String.Index ..<(_:)用法及代码示例
- Swift String.Index ...(_:)用法及代码示例
- Swift String.Iterator next()用法及代码示例
- Swift String.UTF8View first用法及代码示例
- Swift String.UTF16View firstIndex(where:)用法及代码示例
- Swift String.UTF16View last(where:)用法及代码示例
- Swift String.UnicodeScalarView flatMap(_:)用法及代码示例
- Swift String.UTF8View split(maxSplits:omittingEmptySubsequences:whereSeparator:)用法及代码示例
- Swift String.UTF8View elementsEqual(_:)用法及代码示例
- Swift String.UnicodeScalarView min(by:)用法及代码示例
- Swift String.UnicodeScalarView lastIndex(of:)用法及代码示例
- Swift String.UTF8View last(where:)用法及代码示例
- Swift String.UTF8View split(separator:maxSplits:omittingEmptySubsequences:)用法及代码示例
- Swift String.UnicodeScalarView filter(_:)用法及代码示例
- Swift String.UTF8View debugDescription用法及代码示例
- Swift String.UTF16View flatMap(_:)用法及代码示例
- Swift String.UTF16View min(by:)用法及代码示例
- Swift String.UTF16View shuffled(using:)用法及代码示例
- Swift String.UTF8View isEmpty用法及代码示例
- Swift String.UTF16View min()用法及代码示例
- Swift String.UTF8View starts(with:)用法及代码示例
- Swift String.UTF16View isEmpty用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 String.Index samePosition(in:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。