如何在Swift 4中删除字符串的最后一个字符?在较早版本的Swift中,我曾使用substring
方法,但该方法已被弃用。
这是我的代码:
temp = temp.substring(to: temp.index(before: temp.endIndex))
dropLast()
是最安全的选择,因为它可以处理空值和空字符串而不会崩溃(由OverD提供答案),但如果您想返回所删除的字符,请使用removeLast()
:
var str = "String"
let removedCharacter = str.removeLast() //str becomes "Strin"
//and removedCharacter will be "g"
一种不同的函数removeLast(_:)
会改变应该被移除的字符计数:
var str = "String"
str.removeLast(3) //Str
两者之间的区别在于removeLast()
会返回删除的字符,而removeLast(_:)
则没有返回值:var str = "String"
print(str.removeLast()) //prints out "g"
您可以使用dropLast()
函数。
您可以在Apple文档中找到更多信息。
nil
,empty
和 ""
相关的崩溃问题。工作正常。 - Jacktemp = String(temp[..<temp.index(before: temp.endIndex)])
foo.substring(from: index)
变成了foo[index...]
foo.substring(to: index)
变成了foo[..<index]
特别的,在某些情况下需要从Substring
结果创建一个新的String
。
但是,the4kmen的答案解决方案更好。
dropLast
,它在应用于空字符串时返回一个空的Substring
,而不是崩溃。 - Alexander