How can I remove the last character of a String in Swift 4? [duplicate] How can I remove the last character of a String in Swift 4? [duplicate] swift swift

How can I remove the last character of a String in Swift 4? [duplicate]


dropLast() is your safest bet, because it handles nils and empty strings without crashing (answer by OverD), but if you want to return the character you removed, use removeLast():

var str = "String"let removedCharacter = str.removeLast() //str becomes "Strin"                                        //and removedCharacter will be "g"

A different function, removeLast(_:) changes the count of the characters that should be removed:

var str = "String"str.removeLast(3) //Str

The difference between the two is that removeLast() returns the character that was removed, while removeLast(_:) does not have a return value:

var str = "String"print(str.removeLast()) //prints out "g"


You can use dropLast()

You can find more information on Apple documentation


A literal Swift 4 conversion of your code is

temp = String(temp[..<temp.index(before: temp.endIndex)])
  • foo.substring(from: index) becomes foo[index...]

  • foo.substring(to: index) becomes foo[..<index]

    and in particular cases a new String must be created from the Substring result.

but the solution in the4kmen's answer is much better.