logo

So entfernen Sie Buchstaben aus einer Zeichenfolge in Python

Zeichenfolgen sind Datentypen, die zur Darstellung von Text/Zeichen verwendet werden. In diesem Artikel stellen wir verschiedene Methoden für das Problem der i-Entfernung vorThZeichen aus einer Zeichenfolge und sprechen Sie über mögliche Lösungen, die verwendet werden können, um diese mithilfe von Python zu erreichen.

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

Entfernen Sie Zeichen aus einer Zeichenfolge in Python

Dies sind die folgenden Methoden, mit denen wir Buchstaben aus einer Zeichenfolge entfernen können Python :

  • Benutzen str.replace()
  • Benutzen übersetzen()
  • Benutzen Rekursion
  • Verwendung der nativen Methode
  • Verwenden von Slice + Verkettung
  • Benutzen str.join()
  • Benutzen Bytearray
  • Benutzen Präfix entfernen ()

Entfernen Sie Zeichen aus einer Zeichenfolge mit replace()

str.replace() kann verwendet werden, um alle Vorkommen des gewünschten Zeichens zu ersetzen. Es kann auch zum Entfernen von Zeichen aus einer Zeichenfolge verwendet werden, da wir den jeweiligen Index durch ein leeres Zeichen ersetzen und so das Problem lösen können.



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

>

Pandas erstellen Datenrahmen
>

Ausgabe

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

Zeitkomplexität: An)
Raumkomplexität: An)

Nachteil: Der größte Nachteil der Verwendung von replace() besteht darin, dass sie in Fällen fehlschlägt, in denen eine Zeichenfolge Duplikate enthält, die mit dem Zeichen an pos übereinstimmen. ich. replace() ersetzt alle Vorkommen eines bestimmten Zeichens und würde daher alle Vorkommen aller Zeichen an Position i ersetzen. Wir können diese Funktion manchmal immer noch verwenden, wenn das Ersetzungszeichen für 1 vorkommtstZeit in der Zeichenfolge.

Entfernen Sie das spezifische Zeichen aus der Zeichenfolge mit Translate()

Diese Methode bietet einen starken Mechanismus zum Entfernen von Zeichen aus einer Zeichenfolge. Mit dieser Methode haben wir 123 mithilfe von techcodeview.com entfernt string.translate() .

Python3




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

>

>

Ausgabe

GeeksForGeeks>

Zeitkomplexität: An)
Raumkomplexität: O(m)

Entfernen Sie das spezifische Zeichen mithilfe der Rekursion aus der Zeichenfolge

Um das i-te Zeichen mithilfe der Rekursion aus einer Zeichenfolge zu entfernen, können Sie eine rekursive Funktion definieren, die die Zeichenfolge und den zu entfernenden Index als Argumente verwendet. Die Funktion prüft, ob der Index gleich 0 ist. In diesem Fall gibt sie die Zeichenfolge zurück, bei der das erste Zeichen entfernt wurde. Wenn der Index nicht 0 ist, kann die Funktion das erste Zeichen der Zeichenfolge zurückgeben, verkettet mit dem Ergebnis eines erneuten Aufrufs der Funktion für die Zeichenfolge, wobei der Index um 1 dekrementiert wurde.

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>

>

>

Ausgabe

The string after removal of ith character: GeksForGeeks>

Zeitkomplexität: An)
Raumkomplexität: An)

Entfernen Sie Buchstaben mit der nativen Methode aus einer Zeichenfolge

Bei dieser Methode muss man nur a ausführen Python-Schleife und hängen Sie die Zeichen so an, wie sie kommen, und erstellen Sie eine neue Zeichenfolge aus der vorhandenen, außer wenn der Index i ist.

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

>

>

Ausgabe

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

Zeitkomplexität: An)
Raumkomplexität: O(n), wobei n die Länge der Zeichenfolge ist.

Entfernen Sie das iThZeichen aus der Zeichenfolge mithilfe von Slice

Kann man nutzen String-Slice und schneiden Sie die Zeichenfolge vor dem Pos i in Scheiben und schneiden Sie sie nach dem Pos i in Scheiben. Dann verwenden String-Verkettung von beiden, dThEs kann so aussehen, als ob ein Zeichen aus der Zeichenfolge gelöscht wurde.

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

C++-Paar

>

>

Ausgabe

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

Zeitkomplexität: An)
Raumkomplexität: An)

Entfernen Sie das iThZeichen aus dem String Using str.join()

Bei dieser Methode wird jedes Element einer Zeichenfolge zunächst als jedes Element der Liste konvertiert und dann jedes Element mit Ausnahme des angegebenen Index zu einer Zeichenfolge zusammengefügt.

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

>

>

Ausgabe

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

Zeitkomplexität: An)
Raumkomplexität: An)

Löschen Sie Buchstaben aus einer Zeichenfolge in Python mithilfe von bytearray

Definieren Sie die Funktion „remove_char(s, i)“, die einen String s und eine Ganzzahl i als Eingabe akzeptiert. Und dann konvertieren Sie die Eingabezeichenfolge s mit bytearray(s, ‚utf-8‘) in ein Bytearray. Löschen Sie das i-te Element aus dem Bytearray mit del b[i]. Konvertieren Sie das geänderte Bytearray mit b.decode() zurück in einen String und geben Sie den geänderten String zurück.

Python3

Typoskript-Schalter




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

>

>

Ausgabe

hell world>

Zeitkomplexität: An)
Raumkomplexität: An)

Entfernen Sie Buchstaben aus einer Zeichenfolge mit „removeprefix()“

Removeprefix() Entfernt das Präfix und gibt den Rest der Zeichenfolge zurück. Wir können Buchstaben aus einer Zeichenfolge für einen bestimmten Index entfernen, indem wir die Zeichenfolge in zwei Hälften teilen, sodass der Buchstabe, den wir entfernen möchten, im Präfix einer der beiden Partitionen steht, und dann können wir die Methode anwenden, um den Buchstaben zu entfernen.

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

>

>

Ausgabe:

eeksforGeeks GeeksorGeeks>

Zeitkomplexität: An)
Raumkomplexität: An)