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 буде вам у цьому допомагати. Але пам’ятайте, що regex може бути мечем обоюдої гостроти — потужним, але інколи занадто складним.
З точки зору реалізації, replacingOccurrences(of:with:)
є методом, який надає String
у Swift, який внутрішньо викликає більш складні функції маніпулювання рядками, які обробляють Unicode та інші складнощі сучасної обробки тексту. Це одна з тих речей “простих на перший погляд, складних під капотом”, з якими Swift впорався, щоб вам цього не доводилося робити.
Дивіться також
Для більшого ознайомлення з маніпуляціями з рядками у Swift:
- Свифт Програмування Мови (Рядки та Символи): Документація Swift.org
- NSRegularExpression: Документація для Розробників Apple
А якщо ви зараз стали цікавитися регулярними виразами і хочете перевірити свої візерунки:
- Regex101: Тестер і Відладчик Regex