一尘不染

删除字符串中的最后两个字符

swift

有没有一种快速的方法来删除Swift中String中的最后两个字符?我看到有一个简单的方法来删除最后一个字符作为明确指出这里。您知道如何删除最后两个字符吗?谢谢!


阅读 309

收藏
2020-07-07

共1个答案

一尘不染

更新: Xcode 9•Swift 4或更高版本

字符串现在符合RangeReplaceableCollection,因此您可以直接在字符串中使用收集方法dropLast,因此不再需要扩展。唯一的区别是它返回一个Substring。如果您需要一个字符串,则需要从中初始化一个新字符串:

let string = "0123456789"
let substring1 = string.dropLast(2)         // "01234567"
let substring2 = substring1.dropLast()      // "0123456"
let result = String(substring2.dropLast())  // "012345"

我们还可以扩展LosslessStringConvertible以添加尾随语法,我认为这可以提高可读性:

extension LosslessStringConvertible {
    var string: String { .init(self) }
}

用法:

let result = substring.dropLast().string
2020-07-07