gpt4 book ai didi

swift - Swift 3 中的 String.Substring 当 start = end 时

转载 作者:行者123 更新时间:2023-11-30 12:49:47 24 4
gpt4 key购买 nike

我实际上正在尝试做一件简单的事情 - 提取字符串的硬编码部分。例如,从“123”我需要“1”,从“0123”-“01”。现在我刚刚阅读了可能所有关于 [从我的角度来看相当奇怪] Swift 中的 Range 实现的教程,但仍然无法让这个简单的代码按照我想要的方式工作:

   let start2 = string.startIndex
let end2 = string.index(string.endIndex, offsetBy: -3)
minutes = Int(string.substring(with: start2..<end2))

问题是,如果“123”,start2 等于 end2,并且 substring 在这种情况下返回 nil。有任何想法吗?

附注大神们,这个操作即使在20年前的汇编程序中也是微不足道的

最佳答案

您想要删除最后两个字符。

有多种解决方案。一是

let string = "0123"
let minutes = Int(String(string.characters.dropLast(2)))!

let range = string.index(string.endIndex, offsetBy: -2)..<string.endIndex
let minutes = Int(string.substring(to: range.lowerBound))!

既然你无论如何都想要Int,为什么不简单地

let minutes = Int(string)! / 100

关于swift - Swift 3 中的 String.Substring 当 start = end 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41143160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com