Swift - замена смайликов в строке пробелами

У меня есть метод, который обнаруживает URL-адреса в строке и возвращает мне как URL-адреса, так и диапазоны, в которых они могут быть найдены. Все работает отлично, пока на струне нет смайликов. Например:

"I'm gonna do this callenge as soon as I can swing again \n http://youtu.be/SW_d3fGz1hk"

Из-за смайликов, URL-адрес, извлеченный из текстаhttp://youtu.be/SW_d3fGz1 вместоhttp://youtu.be/SW_d3fGz1hk, Я подумал, что самым простым решением было просто заменить смайлики в строке символами пробела (потому что мне нужно, чтобы диапазон был корректным для некоторых элементов стиля текста). Проблема в том, что это очень трудно сделать с помощью Swift (скорее всего, мои способности с Swift String API отсутствуют).

Я пытался сделать это так, но кажется, что я не могу создать строку из массива точек Unicode:

var emojilessStringWithSubstitution: String {
    let emojiRanges = [0x1F601...0x1F64F, 0x2702...0x27B0]
    let emojiSet = Set(emojiRanges.flatten())
    let codePoints: [UnicodeScalar] = self.unicodeScalars.map {
        if emojiSet.contains(Int($0.value)) {
            return UnicodeScalar(32)
        }
        return $0
    }
    return String(codePoints)
}

Я неправильно подхожу к этой проблеме? Является ли замена смайликов лучшим решением здесь? Если так, как я могу это сделать?

Ответы на вопрос(3)

Ваш ответ на вопрос