Чтобы удалить все последовательные дубликаты из строки в 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. Не стесняйтесь выбирать метод, который лучше всего соответствует вашим потребностям.