用法一
實例下標
subscript(_:)
訪問給定位置的 Unicode 標量值。
聲明
subscript(position: String.UnicodeScalarView.Index) -> Unicode.Scalar { get }
參數
position
字符視圖的有效索引。
position
必須小於視圖的結束索引。
概述
以下示例在字符串的 Unicode 標量視圖中搜索大寫字母,然後在找到的索引處打印字符和 Unicode 標量值:
let greeting = "Hello, friend!"
if let i = greeting.unicodeScalars.firstIndex(where: { "A"..."Z" ~= $0 }) {
print("First capital letter: \(greeting.unicodeScalars[i])")
print("Unicode scalar value: \(greeting.unicodeScalars[i].value)")
}
// Prints "First capital letter: H"
// Prints "Unicode scalar value: 72"
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
用法二
實例下標
subscript(_:)
訪問由範圍表達式指定的集合元素的連續子範圍。
聲明
subscript<R>(r: R) -> Self.SubSequence where R : RangeExpression, Self.Index == R.Bound { get }
參數
bounds
一係列集合的索引。範圍的邊界必須是集合的有效索引。
概述
範圍表達式轉換為相對於該集合的具體子範圍。例如,將 PartialRangeFrom
範圍表達式與數組一起使用會訪問從範圍表達式開頭到數組結尾的子範圍。
let streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"]
let streetsSlice = streets[2...]
print(streetsSlice)
// ["Channing", "Douglas", "Evarts"]
訪問的切片對與原始集合使用的相同元素使用相同的索引。此示例在 streetsSlice
中搜索切片中的字符串之一,然後在原始數組中使用該索引。
let index = streetsSlice.firstIndex(of: "Evarts") // 4
print(streets[index!])
// "Evarts"
始終使用切片的 startIndex
屬性,而不是假設其索引從特定值開始。嘗試使用切片索引範圍之外的索引訪問元素可能會導致運行時錯誤,即使該索引對原始集合有效。
print(streetsSlice.startIndex)
// 2
print(streetsSlice[2])
// "Channing"
print(streetsSlice[0])
// error: Index out of bounds
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
用法三
實例下標
subscript(_:)
訪問集合元素的連續子範圍。
聲明
subscript(r: Range<String.UnicodeScalarView.Index>) -> String.UnicodeScalarView.SubSequence { get }
參數
bounds
一係列集合的索引。範圍的邊界必須是集合的有效索引。
概述
訪問的切片對與原始集合使用的相同元素使用相同的索引。始終使用切片的 startIndex
屬性,而不是假設其索引從特定值開始。
此示例演示獲取字符串數組的切片,查找切片中字符串之一的索引,然後在原始數組中使用該索引。
let streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"]
let streetsSlice = streets[2 ..< streets.endIndex]
print(streetsSlice)
// Prints "["Channing", "Douglas", "Evarts"]"
let index = streetsSlice.firstIndex(of: "Evarts") // 4
print(streets[index!])
// Prints "Evarts"
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+, Swift 4.0+
相關用法
- Swift String.UnicodeScalarView suffix(_:)用法及代碼示例
- Swift String.UnicodeScalarView suffix(from:)用法及代碼示例
- Swift String.UnicodeScalarView sorted()用法及代碼示例
- Swift String.UnicodeScalarView split(separator:maxSplits:omittingEmptySubsequences:)用法及代碼示例
- Swift String.UnicodeScalarView shuffled(using:)用法及代碼示例
- Swift String.UnicodeScalarView starts(with:)用法及代碼示例
- Swift String.UnicodeScalarView shuffled()用法及代碼示例
- Swift String.UnicodeScalarView sorted(by:)用法及代碼示例
- Swift String.UnicodeScalarView split(maxSplits:omittingEmptySubsequences:whereSeparator:)用法及代碼示例
- Swift String.UnicodeScalarView flatMap(_:)用法及代碼示例
- Swift String.UnicodeScalarView min(by:)用法及代碼示例
- Swift String.UnicodeScalarView lastIndex(of:)用法及代碼示例
- Swift String.UnicodeScalarView filter(_:)用法及代碼示例
- Swift String.UnicodeScalarView replaceSubrange(_:with:)用法及代碼示例
- Swift String.UnicodeScalarView compactMap(_:)用法及代碼示例
- Swift String.UnicodeScalarView removeFirst(_:)用法及代碼示例
- Swift String.UnicodeScalarView elementsEqual(_:)用法及代碼示例
- Swift String.UnicodeScalarView remove(at:)用法及代碼示例
- Swift String.UnicodeScalarView lexicographicallyPrecedes(_:)用法及代碼示例
- Swift String.UnicodeScalarView append(_:)用法及代碼示例
- Swift String.UnicodeScalarView contains(_:)用法及代碼示例
- Swift String.UnicodeScalarView enumerated()用法及代碼示例
- Swift String.UnicodeScalarView insert(_:at:)用法及代碼示例
- Swift String.UnicodeScalarView last用法及代碼示例
- Swift String.UnicodeScalarView reversed()用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 String.UnicodeScalarView subscript(_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。