Как удалить последовательные дубликаты из строки в Swift

Чтобы удалить все последовательные дубликаты из строки в Swift, вы можете использовать несколько разных методов. Вот несколько примеров:

Метод 1: использование цикла for

func removeConsecutiveDuplicates(input: String) -> String {
    var result = ""
    var previousChar: Character?
    for char in input {
        if char != previousChar {
            result.append(char)
            previousChar = char
        }
    }
    return result
}
let inputString = "aaabbbcccdddeee"
let outputString = removeConsecutiveDuplicates(input: inputString)
print(outputString) // Output: "abcde"

Метод 2: использование сокращения

func removeConsecutiveDuplicates(input: String) -> String {
    let result = input.reduce("") { (result, char) -> String in
        if result.last == char {
            return result
        } else {
            return result + String(char)
        }
    }
    return result
}
let inputString = "aaabbbcccdddeee"
let outputString = removeConsecutiveDuplicates(input: inputString)
print(outputString) // Output: "abcde"

Метод 3. Использование регулярных выражений

import Foundation
func removeConsecutiveDuplicates(input: String) -> String {
    let regex = try! NSRegularExpression(pattern: "(.)\\1+")
    let range = NSRange(location: 0, length: input.utf16.count)
    let modifiedString = regex.stringByReplacingMatches(in: input, options: [], range: range, withTemplate: "$1")
    return modifiedString
}
let inputString = "aaabbbcccdddeee"
let outputString = removeConsecutiveDuplicates(input: inputString)
print(outputString) // Output: "abcde"

Это всего лишь несколько способов удалить последовательные дубликаты из строки в Swift. Не стесняйтесь выбирать метод, который лучше всего соответствует вашим потребностям.