How to replace consecutive characters with only one in Go

1 Answer

0 votes
package main

import (
    "fmt"
)

func removeConsecutiveDuplicates(input string) string {
    if len(input) == 0 {
        return ""
    }

    result := []rune{rune(input[0])}

    for i := 1; i < len(input); i++ {
        if input[i] != input[i-1] {
            result = append(result, rune(input[i]))
        }
    }

    return string(result)
}

func main() {
    input := "aaaabbbccdddddd"
    modified := removeConsecutiveDuplicates(input)

    fmt.Println("Original:", input)
    fmt.Println("Modified:", modified)
}


/*
run:

Original: aaaabbbccdddddd
Modified: abcd

*/

 



answered Jun 7, 2025 by avibootz
...