栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Swift编程语言中获取字符串的第n个字符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Swift编程语言中获取字符串的第n个字符

注意: 请参阅LeoDabus的答案以获取有关Swift 4和Swift5的正确实现。

Xpre 11•Swift 5.1

您可以扩展StringProtocol以使下标也可用于子字符串:

extension StringProtocol {    subscript(_ offset: Int)          -> Element     { self[index(startIndex, offsetBy: offset)] }    subscript(_ range: Range<Int>)    -> SubSequence { prefix(range.lowerBound+range.count).suffix(range.count) }    subscript(_ range: ClosedRange<Int>)         -> SubSequence { prefix(range.lowerBound+range.count).suffix(range.count) }    subscript(_ range: PartialRangeThrough<Int>) -> SubSequence { prefix(range.upperBound.advanced(by: 1)) }    subscript(_ range: PartialRangeUpTo<Int>)    -> SubSequence { prefix(range.upperBound) }    subscript(_ range: PartialRangeFrom<Int>)    -> SubSequence { suffix(Swift.max(0, count-range.lowerBound)) }}extension LosslessStringConvertible {    var string: String { .init(self) }}extension BidirectionalCollection {    subscript(safe offset: Int) -> Element? {        guard !isEmpty, let i = index(startIndex, offsetBy: offset, limitedBy: index(before: endIndex)) else { return nil }        return self[i]    }}

测试中

let test = "Hello USA 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484518.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号