How to replace consecutive characters with only one using RegEx in Swift

1 Answer

0 votes
import Foundation

func removeConsecutiveDuplicates(_ input: String) -> String {
    // Define regex pattern to match consecutive duplicate characters
    let pattern = try! NSRegularExpression(pattern: "(.)\\1+", options: [])

    // Perform replacement using the first captured group
    let result = pattern.stringByReplacingMatches(
        in: input,
        options: [],
        range: NSRange(location: 0, length: input.utf16.count),
        withTemplate: "$1"
    )

    return result
}

let input = "aaaabbbccdddddd"
let modified = removeConsecutiveDuplicates(input)

print("Original:", input)
print("Modified:", modified)




/*
run:

Original: aaaabbbccdddddd
Modified: abcd

*/

 



answered Jun 7, 2025 by avibootz
...