Les cadenes són tipus de dades que s'utilitzen per representar text/caràcters. En aquest article, presentem diferents mètodes per al problema d'eliminar l'ithcaràcter d'una cadena i parlar de possibles solucions que es poden emprar per aconseguir-les mitjançant Python.
Input: 'Geeks123For123Geeks' Output: GeeksForGeeks Explanation: In This, we have removed the '123' character from a string.>
Eliminar caràcters d'una cadena a Python
Aquests són els mètodes següents amb els quals podem eliminar lletres d'una cadena Python :
- Utilitzant str.replace()
- Utilitzant traduir()
- Utilitzant recursivitat
- Ús del mètode natiu
- Utilitzant tall + concatenació
- Utilitzant str.join()
- Utilitzant bytearray
- Utilitzant elimina el prefix ()
Eliminar caràcters d'una cadena amb substituir()
str.replace() es pot utilitzar per substituir totes les ocurrències del caràcter desitjat. També es pot utilitzar per dur a terme la tasca d'eliminació de caràcters d'una cadena, ja que podem substituir l'índex particular per un caràcter buit i, per tant, resoldre el problema.
Python 3
# Initializing String> test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> # using replace> new_str>=> test_str.replace(>'e'>, '')> # Printing string after removal> # removes all occurrences of 'e'> print>(>'The string after removal of i'th character( doesn't work) : '> +> new_str)> # Removing 1st occurrence of s, i.e 5th pos.> # if we wish to remove it.> new_str>=> test_str.replace(>'s'>, '',>1>)> # Printing string after removal> # removes first occurrences of s> print>(>'The string after removal of i'th character(works) : '> +> new_str)> |
>
centrar una imatge en css
>Sortida
The string after removal of i'th character( doesn't work) : GksForGks The string after removal of i'th character(works) : GeekForGeeks>
Complexitat temporal: O(n)
Complexitat espacial: O(n)
Inconvenient: El principal inconvenient d'utilitzar replace() és que falla en els casos en què hi ha duplicats en una cadena que coincideix amb el caràcter a la posició. i. replace() substitueix totes les ocurrències d'un caràcter particular i, per tant, substituiria totes les ocurrències de tots els caràcters a la posició i. Encara podem utilitzar aquesta funció de vegades si el caràcter de substitució es produeix per a 1sttemps a la corda.
Elimineu el caràcter específic de la cadena mitjançant Translate()
Aquest mètode proporciona un mecanisme fort per eliminar caràcters d'una cadena. En aquest mètode, vam eliminar 123 de techcodeview.com utilitzant string.translate() .
Python 3
str> => 'Geeks123For123Geeks'> > print>(>str>.translate({>ord>(i):>None> for> i>in> '123'>}))> |
>
>
Sortida
GeeksForGeeks>
Complexitat temporal: O(n)
Complexitat espacial: O(m)
Elimineu el caràcter específic de la cadena mitjançant la recursència
Per eliminar el caràcter i-è d'una cadena mitjançant la recursivitat, podeu definir una funció recursiva que prengui la cadena i l'índex que s'eliminaran com a arguments. La funció comprovarà si l'índex és igual a 0, en aquest cas retorna la cadena amb el primer caràcter eliminat. Si l'índex no és 0, la funció pot retornar el primer caràcter de la cadena concatenat amb el resultat de tornar a cridar la funció a la cadena amb l'índex disminuït en 1.
Python 3
def> remove_ith_character(s, i):> ># Base case: if index is 0,> ># return string with first character removed> >if> i>=>=> 0>:> >return> s[>1>:]> ># Recursive case: return first character> ># concatenated with result of calling function> ># on string with index decremented by 1> >return> s[>0>]>+> remove_ith_character(s[>1>:], i>-> 1>)> # Test the function> test_str>=> 'GeeksForGeeks'> new_str>=> remove_ith_character(test_str,>2>)> print>(>'The string after removal of ith character:'>, new_str)> # This code is contributed by Edula Vinay Kumar Reddy> |
>
>
Sortida
The string after removal of ith character: GeksForGeeks>
Complexitat temporal: O(n)
Complexitat espacial: O(n)
Eliminar lletres d'una cadena utilitzant el mètode natiu
En aquest mètode, només cal executar a Bucle Python i afegiu els caràcters a mesura que surten, i creeu una nova cadena a partir de l'existent, excepte quan l'índex és i.
Python 3
test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> new_str>=> ''> for> i>in> range>(>len>(test_str)):> >if> i !>=> 2>:> >new_str>=> new_str>+> test_str[i]> # Printing string after removal> print> (>'The string after removal of i'th character : '> +> new_str)> |
>
>Sortida
The string after removal of i'th character : GeksForGeeks>
Complexitat temporal: O(n)
Complexitat espacial: O(n), on n és la longitud de la corda.
Traieu la ithCaràcter de la cadena utilitzant Slice
Un pot utilitzar rodanxa de corda i talla la corda abans de la pos i, i talla després de la pos i. Després utilitzant concatenació de cadenes de tots dos, ithEl caràcter pot semblar que s'ha eliminat de la cadena.
Python 3
# Initializing String> test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> # using slice + concatenation> new_str>=> test_str[:>2>]>+> test_str[>3>:]> # Printing string after removal> # removes ele. at 3rd index> print> (>'The string after removal of i'th character : '> +> new_str)> |
repositori maven
>
>Sortida
The string after removal of i'th character : GeksForGeeks>
Complexitat temporal: O(n)
Complexitat espacial: O(n)
Traieu la ithCaràcter de la cadena utilitzant str.join()
En aquest mètode, cada element d'una cadena es converteix primer com a cada element de la llista, i després cadascun d'ells s'uneix per formar una cadena excepte l'índex especificat.
Python 3
# Initializing String> test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> # using join() + list comprehension> new_str>=> ''.join([test_str[i]>for> i>in> range>(>len>(test_str))>if> i !>=> 2>])> # Printing string after removal> # removes ele. at 3rd index> print> (>'The string after removal of i'th character : '> +> new_str)> |
>
>Sortida
The string after removal of i'th character : GeksForGeeks>
Complexitat temporal: O(n)
Complexitat espacial: O(n)
Suprimir lletres d'una cadena a Python mitjançant bytearray
Definiu la funció remove_char(s, i) que pren una cadena s i un enter i com a entrada. A continuació, convertiu la cadena d'entrada s en una matriu de bytes mitjançant bytearray(s, 'utf-8'). Suprimeix l'element i del bytearray utilitzant del b[i]. Torneu a convertir el bytearray modificat en una cadena mitjançant b.decode() i retorneu la cadena modificada.
Python 3
def> remove_char(s, i):> >b>=> bytearray(s,>'utf-8'>)> >del> b[i]> >return> b.decode()> # Example usage> s>=> 'hello world'> i>=> 4> s>=> remove_char(s, i)> print>(s)> |
>
>
Sortida
hell world>
Complexitat temporal: O(n)
Complexitat espacial: O(n)
Eliminar lletres d'una cadena utilitzant removeprefix()
removeprefix() elimina el prefix i retorna la resta de la cadena. Podem eliminar lletres d'una cadena per a qualsevol índex específic dividint la cadena en dues meitats de manera que la lletra que volíem eliminar vingui al prefix de qualsevol de les dues particions i després podem aplicar el mètode per eliminar la lletra.
Python 3
convencions de denominació de Java
#initializing the string> s>=>'techcodeview.com'> #if you wanted to remove 'G' of 0th index> s1>=>s.removeprefix(>'G'>)> #if you wanted to remove 'f'> s2>=>s[:>5>]>+>s[>5>:].removeprefix(>'f'>)> print>(s1)> print>(s2)> |
>
>
Sortida:
eeksforGeeks GeeksorGeeks>
Complexitat temporal: O(n)
Complexitat espacial: O(n)