Python | Reemplazar múltiples ocurrencias de carácter por una sola

Dada una string y un carácter, escriba un programa de Python para reemplazar varias apariciones del carácter dado por un solo carácter.

Ejemplos:

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

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

Enfoque #1: Enfoque Ingenuo
Este método es un enfoque de fuerza bruta en el que tomamos otra lista ‘new_str’. Use un ciclo for para verificar si el carácter dado se repite o no. Si se repite varias veces, agregue el carácter una sola vez a la lista. Otros caracteres (no el carácter dado) simplemente se agregan a la lista sin ninguna alteración.

# 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):
            new_str.append(s[i])
              
        elif s[i] == ch:
            if ((i != (l-1) and s[i + 1] == ch) and
               (i != 0 and s[i-1] != ch)):
                new_str.append(s[i])
                  
        else:
            new_str.append(s[i])
          
    return ("".join(i for i in new_str))
  
  
# Driver code 
s = 'Geeksforgeeks'
char = 'e'
print(replace(s, char))
Producción:

Geksforgeks

 
Enfoque n.º 2: uso de 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))
Producción:

Geksforgeks

Publicación traducida automáticamente

Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *