Виділення підрядків

Swift:
Виділення підрядків

Як це зробити:

Swift використовує String.Index для роботи з підрядками. Ось базовий приклад:

let text = "Привіт, світ!"
let start = text.index(text.startIndex, offsetBy: 8)
let end = text.index(text.startIndex, offsetBy: 11)
let substring = text[start...end]

print(substring) // Виведе: світ

Альтернативний спосіб через range(of:):

let text = "Привіт, світ!"
if let range = text.range(of: "світ") {
    let substring = text[range]
    print(substring) // Виведе: світ
}

Глибше занурення:

В Swift, з моменту створення мови, робота з рядками була предметом оптимізацій та змін. Починаючи з Swift 4, рядки отримали більш зручні і ефективні API для роботи з індексами.

Важливо розуміти, що в Swift, коли ви отримуєте підрядок, ви отримуєте Substring тип, який спільно користується пам’яттю з оригінальним String. Це значить, що вам необхідно конвертувати Substring у новий String, якщо потрібно довготривале зберігання.

Іншим варіантом є використання NSString методів, але вони менш типові для Swift та можуть бути менш ефективними через зв’язки з Objective-C.

У реалізації строк Swift використовує комплексні алгоритми для зберігання та доступу до символів, що підтримують Unicode та запобігають надмірному споживанню пам’яті при роботі з підрядками.

Дивіться також: