我如何从字符串变量使用Swift删除最后一个字符?在文档中找不到。
下面是完整的例子:
var expression = "45+22"
expression = expression.substringToIndex(countElements(expression) - 1)
我如何从字符串变量使用Swift删除最后一个字符?在文档中找不到。
下面是完整的例子:
var expression = "45+22"
expression = expression.substringToIndex(countElements(expression) - 1)
当前回答
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
}
}
其他回答
我建议使用NSString来处理你想要操作的字符串。实际上,作为一个开发人员,我从来没有遇到过NSString的问题,Swift String可以解决…我明白其中的微妙之处。但我还没有真正需要它们。
var foo = someSwiftString as NSString
or
var foo = "Foo" as NSString
or
var foo: NSString = "blah"
然后整个简单NSString字符串操作的世界就向你敞开了。
作为问题的答案
// check bounds before you do this, e.g. foo.length > 0
// Note shortFoo is of type NSString
var shortFoo = foo.substringToIndex(foo.length-1)
let str = "abc"
let substr = str.substringToIndex(str.endIndex.predecessor()) // "ab"
函数的作用是:删除字符串的最后一个元素。
var expression = "45+22"
expression = expression.dropLast()
斯威夫特4/5
var str = "bla"
str.removeLast() // returns "a"; str is now "bl"
使用新的Substring类型用法:
斯威夫特4:
var before: String = "Hello world!"
var lastCharIndex: Int = before.endIndex
var after:String = String(before[..<lastCharIndex])
print(after) // Hello world
短:
var before: String = "Hello world!"
after = String(before[..<before.endIndex])
print(after) // Hello world