首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift5中获取部分字符串

在Swift5中获取部分字符串
EN

Stack Overflow用户
提问于 2019-06-15 21:54:35
回答 1查看 226关注 0票数 0

我正在尝试从Swift5中给定的输入字符串中提取一个部分字符串。就像字符串中的2到5个字母。

我确信,像inputString[2...5]这样简单的东西会起作用,但我只让它像这样工作:

代码语言:javascript
复制
String(input[(input.index(input.startIndex, offsetBy: 2))..<(input.index(input.endIndex, offsetBy: -3))])

..。它仍然使用相对位置(endIndex-3而不是位置#5)

现在我想知道我到底是在哪里搞砸的。

人们通常如何从"abcdefgh“的绝对位置提取"cde”?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-15 22:24:37

我为速记子字符串编写了以下扩展,而不必在主代码中处理索引和转换:

代码语言:javascript
复制
extension String {
    func substring(from: Int, to: Int) -> String {
        let start = index(startIndex, offsetBy: from)
        let end = index(start, offsetBy: to - from + 1)
        return String(self[start ..< end])
    }
}

let testString = "HelloWorld!"

print(testString.substring(from: 0, to: 4))     // 0 to 4 inclusive

输出Hello

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56614440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档