我如何从字符串变量使用Swift删除最后一个字符?在文档中找不到。
下面是完整的例子:
var expression = "45+22"
expression = expression.substringToIndex(countElements(expression) - 1)
我如何从字符串变量使用Swift删除最后一个字符?在文档中找不到。
下面是完整的例子:
var expression = "45+22"
expression = expression.substringToIndex(countElements(expression) - 1)
当前回答
修剪字符串最后一个字符最简单的方法是:
title = title[title.startIndex ..< title.endIndex.advancedBy(-1)]
其他回答
全局的dropLast()函数作用于序列,因此也作用于字符串:
var expression = "45+22"
expression = dropLast(expression) // "45+2"
// in Swift 2.0 (according to cromanelli's comment below)
expression = String(expression.characters.dropLast())
let str = "abc"
let substr = str.substringToIndex(str.endIndex.predecessor()) // "ab"
Swift 3:当你想删除尾随字符串:
func replaceSuffix(_ suffix: String, replacement: String) -> String {
if hasSuffix(suffix) {
let sufsize = suffix.count < count ? -suffix.count : 0
let toIndex = index(endIndex, offsetBy: sufsize)
return substring(to: toIndex) + replacement
}
else
{
return self
}
}
补充上述代码,我想删除字符串的开头,但在任何地方都找不到引用。以下是我的做法:
var mac = peripheral.identifier.description
let range = mac.startIndex..<mac.endIndex.advancedBy(-50)
mac.removeRange(range) // trim 17 characters from the beginning
let txPower = peripheral.advertisements.txPower?.description
这将从字符串的开头修剪17个字符(字符串的总长度是67,从末尾向前移动-50,就得到了它。
修剪字符串最后一个字符最简单的方法是:
title = title[title.startIndex ..< title.endIndex.advancedBy(-1)]