从字符串中删除最后一个字符 Swift语言
发布时间:2020-12-14 06:18:38 所属栏目:百科 来源:网络整理
导读:如何使用Swift从字符串变量中删除最后一个字符?在文档中找不到它。 这里是完整的例子: var expression = "45+22"expression = expression.substringToIndex(countElements(expression) - 1) 新的Swift 3.0方式 API已经变得更加迅速,因此Foundation扩展已
如何使用Swift从字符串变量中删除最后一个字符?在文档中找不到它。
这里是完整的例子: var expression = "45+22" expression = expression.substringToIndex(countElements(expression) - 1)
新的Swift 3.0方式
API已经变得更加迅速,因此Foundation扩展已经改变了一点: var name: String = "Dolphin" var truncated = name.substring(to: name.index(before: name.endIndex)) print(name) // "Dolphin" print(truncated) // "Dolphi" 或者就地版本: var name: String = "Dolphin" name.remove(at: name.index(before: name.endIndex)) print(name) // "Dolphi" 谢谢Zmey,Rob Allen! Swift 2.0方式 有几种方法可以实现这一点: 通过基金会扩展,尽管不是Swift库的一部分: var name: String = "Dolphin" var truncated = name.substringToIndex(name.endIndex.predecessor()) print(name) // "Dolphin" print(truncated) // "Dolphi" 使用removeRange()方法(更改名称): var name: String = "Dolphin" name.removeAtIndex(name.endIndex.predecessor()) print(name) // "Dolphi" 使用dropLast()函数: var name: String = "Dolphin" var truncated = String(name.characters.dropLast()) print(name) // "Dolphin" print(truncated) // "Dolphi" Old String.Index(Xcode 6 Beta 4)方式 由于Swift中的String类型旨在提供出色的UTF-8支持,因此您不能再使用Int类型访问字符索引/范围/子字符串。相反,你使用String.Index: let name: String = "Dolphin" let stringLength = count(name) // Since swift1.2 `countElements` became `count` let substringIndex = stringLength - 1 name.substringToIndex(advance(name.startIndex,substringIndex)) // "Dolphi" 或者(对于更实用,但较少教育的例子),你可以使用endIndex: let name: String = "Dolphin" name.substringToIndex(name.endIndex.predecessor()) // "Dolphi" 注意:我发现this是理解String.Index的一个很好的起点 老(pre-beta 4)方式 你可以简单地使用substringToIndex()函数,提供一个小于字符串的长度: let name: String = "Dolphin" name.substringToIndex(countElements(name) - 1) // "Dolphi" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |