#swift
#swift
Вопрос:
Не удается проиндексировать значение типа String
с индексом типа String.Index
if let x = formulars.firstIndex(of: "("){
formulars[x] = ""
}
Ответ №1:
String
является Collection
, но не a MutableCollection
, что означает, что нижний индекс доступен только для чтения. Также подписку нельзя использовать для удаления элемента коллекции.
Чтобы удалить символ в найденной позиции, используйте
if let idx = formulars.firstIndex(of: "(") {
formulars.remove(at: idx)
}
И для замены первого вхождения «(» другой строкой используйте
if let range = formulars.range(of: "(") {
formulars.replaceSubrange(range, with: "😎")
}
Ответ №2:
Просто используйте replacingOccurrences
formulars = formulars.replacingOccurrences(of: "(", with: "")
Комментарии:
1. Просто обратите внимание, что это удаляет все вхождения «(«, а не только первое (которое может быть, а может и не быть нужным).