logo

Hur man tar bort bokstäver från en sträng i Python

Strängar är datatyper som används för att representera text/tecken. I den här artikeln presenterar vi olika metoder för problemet med att ta bort ithtecken från en sträng och prata om möjliga lösningar som kan användas för att uppnå dem med Python.

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

Ta bort tecken från en sträng i Python

Det här är följande metoder som vi använder för att ta bort bokstäver från en sträng i Pytonorm :

  • Använder sig av str.replace()
  • Använder sig av Översätt()
  • Använder sig av rekursion
  • Använder Native Method
  • Använder skiva + sammanlänkning
  • Använder sig av str.join()
  • Använder sig av bytearray
  • Använder sig av ta bort prefix ()

Ta bort tecken från en sträng med replace()

str.replace() kan användas för att ersätta alla förekomster av önskat tecken. Det kan också användas för att utföra uppgiften att ta bort tecken från en sträng eftersom vi kan ersätta det specifika indexet med tomt tecken och därmed lösa problemet.



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

>

inurl:.git/head
>

Produktion

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

Tidskomplexitet: På)
Utrymmes komplexitet: På)

Nackdel: Den stora nackdelen med att använda replace() är att det misslyckas i fall där det finns dubbletter i en sträng som matchar char vid pos. i. replace() ersätter alla förekomster av ett visst tecken och skulle därför ersätta alla förekomster av alla tecken vid pos i. Vi kan fortfarande ibland använda den här funktionen om det ersättande tecknet förekommer för 1sttid i strängen.

Ta bort det specifika tecknet från strängen med hjälp av Translate()

Denna metod ger en stark mekanism för att ta bort tecken från en sträng. I den här metoden tog vi bort 123 från techcodeview.com med hjälp av string.translate() .

Python3




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

>

>

Produktion

GeeksForGeeks>

Tidskomplexitet: På)
Utrymmes komplexitet: O(m)

Ta bort det specifika tecknet från strängen med hjälp av rekursion

För att ta bort tecknet ith från en sträng med hjälp av rekursion kan du definiera en rekursiv funktion som tar in strängen och indexet som ska tas bort som argument. Funktionen kontrollerar om indexet är lika med 0, i detta fall returnerar den strängen med det första tecknet borttaget. Om indexet inte är 0, kan funktionen returnera det första tecknet i strängen sammanlänkat med resultatet av att anropa funktionen igen på strängen med indexet minskat med 1.

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>

>

>

Produktion

The string after removal of ith character: GeksForGeeks>

Tidskomplexitet: På)
Utrymmes komplexitet: På)

Ta bort bokstäver från en sträng med den ursprungliga metoden

I den här metoden behöver man bara köra en Python loop och lägg till tecknen när de kommer, och bygg en ny sträng från den befintliga förutom när indexet är i.

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

>

>

Produktion

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

Tidskomplexitet: På)
Utrymmes komplexitet: O(n), där n är strängens längd.

Ta bort ithKaraktär från strängen med skiva

Man kan använda sträng skiva och skiva snöret före pos i, och skiva efter pos i. Använd sedan strängsammansättning av båda, dvsthtecken kan tyckas vara borttagen från strängen.

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

lägg till i array java

>

>

Produktion

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

Tidskomplexitet: På)
Utrymmes komplexitet: På)

Ta bort ithKaraktär från strängen använder str.join()

I den här metoden konverteras först varje element i en sträng som varje element i listan, och sedan sammanfogas var och en av dem för att bilda en sträng förutom det angivna indexet.

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

>

>

Produktion

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

Tidskomplexitet: På)
Utrymmes komplexitet: På)

Ta bort bokstäver från en sträng i Python med bytearray

Definiera funktionen remove_char(s, i) som tar en sträng s och ett heltal i som indata. Och konvertera sedan inmatningssträngen s till en bytearray med bytearray(s, 'utf-8'). Ta bort det i:te elementet från bytearray med hjälp av del b[i]. Konvertera den modifierade bytearrayen tillbaka till en sträng med b.decode() och returnera den modifierade strängen.

Python3

kat timpf syster




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

>

>

Produktion

hell world>

Tidskomplexitet: På)
Utrymmes komplexitet: På)

Ta bort bokstäver från en sträng med removeprefix()

removeprefix() tar bort prefixet och returnerar resten av strängen. Vi kan ta bort bokstäver från en sträng för ett specifikt index genom att dela strängen i två halvor så att bokstaven som vi ville ta bort kommer i prefixet för någon av de två partitionerna och sedan kan vi använda metoden för att ta bort bokstaven.

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

>

>

Produktion:

eeksforGeeks GeeksorGeeks>

Tidskomplexitet: På)
Utrymmes komplexitet: På)