Swift:
Удаление кавычек из строки
Как:
Swift позволяет довольно удобно справиться с задачей удаления кавычек. Вот быстрый пример использования replacingOccurrences(of:with:)
, который делает именно то, на что похоже — заменяет части текста чем-то другим или вовсе ничем.
var quotedString = "\"Это 'в кавычках' строка.\""
let unquotedString = quotedString.replacingOccurrences(of: "\"", with: "")
print(unquotedString) // Это 'в кавычках' строка.
// Работаем с одинарными кавычками? Просто измените искомое.
quotedString = "'Вот ещё один пример.'"
let singleQuoteRemoved = quotedString.replacingOccurrences(of: "'", with: "")
print(singleQuoteRemoved) // Вот ещё один пример.
На выходе получаются строки без кавычек, полностью готовые к любым вашим следующим действиям.
Подробнее
Мы “очищаем” строки такого рода с самого начала программирования. В давние времена это было больше связано с экономией драгоценной памяти и избежанием синтаксических ошибок при обработке ввода. Сегодня речь идёт о хорошей гигиене данных — особенно при работе с JSON или подготовке строк к работе с базой данных. Одна лишняя кавычка может нарушить SQL-запросы быстрее, чем вы успеете сказать “синтаксическая ошибка”.
Альтернативы? Ну, если вам кажется replacingOccurrences(of:with:)
слишком простым, вы можете погрузиться в регулярные выражения для более сложных шаблонов или когда хотите удалять кавычки только в определённых позициях. Класс NSRegularExpression
в Swift будет вашим помощником здесь. Но помните, что регекс — это оружие с двумя лезвиями: мощное, но иногда избыточное.
С точки зрения реализации, replacingOccurrences(of:with:)
— это метод, предоставляемый String
в Swift, который внутренне вызывает более сложные функции манипуляции со строками, обрабатывающие Unicode и другие тонкости современной обработки текста. Это одна из тех “просто на вид, сложно под капотом” вещей, с которыми Swift справляется, чтобы вам не пришлось.
Смотрите также
Для получения дополнительной информации о манипуляциях со строками в Swift:
- Язык программирования Swift (Строки и символы): Документация Swift.org
- NSRegularExpression: Документация для разработчиков Apple
А если вам стало интересно о регулярных выражениях и вы хотите протестировать свои шаблоны: