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