Как удалить последний символ строки в Swift 4?

69
6

Как удалить последний символ строки в Swift 4? Я использовал substring в более ранних версиях Swift, но метод substring устарел.

Вот код, который у меня есть.

temp = temp.substring(to: temp.index(before: temp.endIndex))

спросил(а) 2017-11-15T23:46:00+03:00 2 года, 10 месяцев назад
1
Решение
127

Используйте removeLast():

var str = "String"
str.removeLast() //Strin

removeLast(_:) функция removeLast(_:) изменяет количество символов, которые необходимо удалить:

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

Разница между ними заключается в том, что removeLast() возвращает символ, который был удален, а removeLast(:) не имеет возвращаемого значения:

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

ответил(а) 2017-11-15T23:48:00+03:00 2 года, 10 месяцев назад
105

Вы можете использовать dropLast()

Вы можете найти дополнительную информацию о документации Apple

ответил(а) 2017-11-15T23:52:00+03:00 2 года, 10 месяцев назад
70

Буквальное преобразование Swift 4 вашего кода

temp = String(temp[..<temp.index(before: temp.endIndex)])
    foo.substring(from: index) становится foo[index...]

    foo.substring(to: index) становится foo[..<index]

    и, в частности, новая String должна быть создана из результата Substring.

но решение в ответе4kmen намного лучше.

ответил(а) 2017-11-15T23:52:00+03:00 2 года, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема