logo

Hoe letters uit een string in Python te verwijderen

Tekenreeksen zijn gegevenstypen die worden gebruikt om tekst/tekens weer te geven. In dit artikel presenteren we verschillende methoden voor het probleem van het verwijderen van de ieteken uit een string en bespreek mogelijke oplossingen die kunnen worden gebruikt om deze te bereiken met behulp van Python.

  Input:   'Geeks123For123Geeks'   Output:   GeeksForGeeks   Explanation:   In This, we have removed the '123' character from a string.>

Verwijder tekens uit een string in Python

Dit zijn de volgende methoden waarmee we letters uit een string kunnen verwijderen Python :



  • Gebruik makend van str.vervangen()
  • Gebruik makend van vertalen()
  • Gebruik makend van herhaling
  • Met behulp van de native methode
  • Gebruik segment + aaneenschakeling
  • Gebruik makend van str.join()
  • Gebruik makend van bij tranen
  • Gebruik makend van verwijdervoorvoegsel ()

Tekens uit een tekenreeks verwijderen met behulp van Replace()

str.vervangen() kan worden gebruikt om alle exemplaren van het gewenste teken te vervangen. Het kan ook worden gebruikt om de taak van het verwijderen van tekens uit een string uit te voeren, omdat we de specifieke index kunnen vervangen door lege char, en zo het probleem kunnen oplossen.

Python3








# 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)>

>

lente kader
>

Uitvoer

The string after removal of i'th character( doesn't work) : GksForGks The string after removal of i'th character(works) : GeekForGeeks>

Tijdcomplexiteit: Op)
Ruimtecomplexiteit: Op)

Nadeel: Het grootste nadeel van het gebruik van Replace() is dat het mislukt in gevallen waarin er duplicaten in een string voorkomen die overeenkomen met de char op pos. i. Replace() vervangt alle exemplaren van een bepaald teken en vervangt daarom alle exemplaren van alle tekens op pos i. We kunnen deze functie soms nog steeds gebruiken als het vervangende teken voorkomt voor 1sttijd in de reeks.

Verwijder het specifieke teken uit de tekenreeks met Translate()

Deze methode biedt een krachtig mechanisme om tekens uit een tekenreeks te verwijderen. Bij deze methode hebben we 123 van techcodeview.com verwijderd met behulp van tekenreeks.translate() .

Python3




str> => 'Geeks123For123Geeks'> > print>(>str>.translate({>ord>(i):>None> for> i>in> '123'>}))>

>

>

Uitvoer

GeeksForGeeks>

Tijdcomplexiteit: Op)
Ruimtecomplexiteit: O(m)

Verwijder het specifieke teken uit de tekenreeks met behulp van recursie

Om het i-de teken uit een string te verwijderen met behulp van recursie, kunt u een recursieve functie definiëren die de te verwijderen string en de index als argumenten opneemt. De functie controleert of de index gelijk is aan 0 en retourneert in dit geval de string waaruit het eerste teken is verwijderd. Als de index niet 0 is, kan de functie het eerste teken van de tekenreeks retourneren, samengevoegd met als resultaat dat de functie opnieuw wordt aangeroepen op de tekenreeks, waarbij de index met 1 wordt verlaagd.

Python3




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>

>

>

Uitvoer

The string after removal of ith character: GeksForGeeks>

Tijdcomplexiteit: Op)
Ruimtecomplexiteit: Op)

Verwijder letters uit een string met behulp van de native methode

Bij deze methode hoeft u alleen maar een Python-lus en voeg de tekens toe zodra ze komen, en bouw een nieuwe string op basis van de bestaande, behalve wanneer de index i is.

Python3




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)>

>

>

Uitvoer

The string after removal of i'th character : GeksForGeeks>

Tijdcomplexiteit: Op)
Ruimtecomplexiteit: O(n), waarbij n de lengte van de string is.

Verwijder de ieKarakter uit de string met behulp van Slice

Men kan gebruiken snaar stukje en snijd de string vóór de pos i, en snijd na de pos i. Vervolgens gebruiken aaneenschakeling van tekenreeksen van beide, ikeHet kan lijken alsof het teken uit de tekenreeks is verwijderd.

Python3




# 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)>

Java-connectiviteit

>

>

Uitvoer

The string after removal of i'th character : GeksForGeeks>

Tijdcomplexiteit: Op)
Ruimtecomplexiteit: Op)

Verwijder de ieTeken uit de string die gebruikt wordt str.join()

Bij deze methode wordt elk element van een string eerst geconverteerd als elk element van de lijst, en vervolgens wordt elk element samengevoegd om een ​​string te vormen, behalve de opgegeven index.

Python3




# 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)>

>

>

Uitvoer

The string after removal of i'th character : GeksForGeeks>

Tijdcomplexiteit: Op)
Ruimtecomplexiteit: Op)

Java-lussen

Verwijder letters uit een string in Python met behulp van bytearray

Definieer de functie remove_char(s, i) die een string s en een geheel getal i als invoer nodig heeft. En converteer vervolgens de invoerreeks s naar een bytearray met behulp van bytearray(s, ‘utf-8’). Verwijder het i-de element uit de bij tranen met behulp van del b[i]. Converteer de gewijzigde bytearray terug naar een string met behulp van b.decode() en retourneer de gewijzigde string.

Python3




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)>

>

>

Uitvoer

hell world>

Tijdcomplexiteit: Op)
Ruimtecomplexiteit: Op)

Letters uit een string verwijderen met removeprefix()

verwijdervoorvoegsel() verwijdert het voorvoegsel en retourneert de rest van de tekenreeks. We kunnen letters uit een string verwijderen voor elke specifieke index door de string in twee helften te verdelen, zodat de letter die we wilden verwijderen in het voorvoegsel van een van de twee partities komt en dan kunnen we de methode toepassen om de letter te verwijderen.

Python3




#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)>

>

>

Uitgang:

eeksforGeeks GeeksorGeeks>

Tijdcomplexiteit: Op)
Ruimtecomplexiteit: Op)