Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Python | Replace multiple occurrence of character by single

  • Last Updated : 29 Dec, 2020

Given a string and a character, write a Python program to replace multiple occurrences of the given character by a single character.


 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Input : Geeksforgeeks, ch = 'e'
Output : Geksforgeks

Input : Wiiiin, ch = 'i'
Output : Win


Approach #1 : Naive Approach
This method is a brute force approach in which we take another list ‘new_str’. Use a for loop to check if the given character is repeated or not. If repeated multiple times, append the character single time to the list. Other characters(Not the given character) are simply appended to the list without any alteration.

# Python program to replace multiple 
# occurrences of a character by a single character
def replace(s, ch):
    new_str = []
    l = len(s)
    for i in range(len(s)):
        if (s[i] == ch and i != (l-1) and
           i != 0 and s[i + 1] != ch and s[i-1] != ch):
        elif s[i] == ch:
            if ((i != (l-1) and s[i + 1] == ch) and
               (i != 0 and s[i-1] != ch)):
    return ("".join(i for i in new_str))
# Driver code 
s = 'Geeksforgeeks'
char = 'e'
print(replace(s, char))

Approach #2 : Using Python Regex

import re
# Function to replace multiple occurrences  
# of a character by a single character
def replace(string, char):
    pattern = char + '{2,}'
    string = re.sub(pattern, char, string)
    return string
# Driver code 
string = 'Geeksforgeeks'
char = 'e'
print(replace(string, char))

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!