Видалення лапок зі строки

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:

А якщо ви зараз стали цікавитися регулярними виразами і хочете перевірити свої візерунки: