logo

Python | Satzzeichen aus der Zeichenfolge entfernen

Viele Male während der Arbeit mit Python-Strings haben wir ein Problem, bei dem wir bestimmte Zeichen aus Zeichenfolgen entfernen müssen. Dies kann in der Datenvorverarbeitung Anwendung finden Python .

Beispiel



  Input:   'Gfg, is best: for ! Geeks ;'   Output:   Gfg is best for Geeks    Explanation:   Here we can observe the difference between input and output we removed all the punctuation from the input and the ways to this is listed below to do that.>

Möglichkeiten zum Entfernen von Satzzeichen aus einer Zeichenfolge

Es gibt viele Möglichkeiten, die Interpunktion aus einer Zeichenfolge zu entfernen, die wichtigsten sind jedoch unten aufgeführt. Lassen Sie uns sie also einzeln erkunden. Nachfolgend sind die Methoden aufgeführt, die wir in diesem Artikel behandeln:

So öffnen Sie eine Datei in Java
  • Entfernen Sie mit „Übersetzen“ Satzzeichen aus einer Zeichenfolge
  • Entfernen Sie Satzzeichen aus einem String mit einer Python-Schleife
  • Entfernen Sie das Komma aus einem String mit einer Python-Schleife
  • Entfernen Sie Satzzeichen aus einem String mit Regex
  • Verwendung einer for-Schleife, einer Satzzeichenfolge und nicht eines in-Operators
  • Entfernen von Satzzeichen aus einem String mit filter()
  • Verwendung der Methode replace()

Entfernen Sie mit „Übersetzen“ Satzzeichen aus einer Zeichenfolge

Die ersten beiden Argumente dafür string.translate Die Methode besteht aus leeren Zeichenfolgen und die dritte Eingabe ist a Python-Liste des Satzzeichens, das entfernt werden soll. Dies weist die Python-Methode an, Satzzeichen aus einer Zeichenfolge zu entfernen. Dies ist einer der beste Möglichkeiten, Satzzeichen aus einer Zeichenfolge zu entfernen .

Python3








import> string> test_str>=> 'Gfg, is best: for ! Geeks ;'> test_str>=> test_str.translate> >(>str>.maketrans('>', '>', string.punctuation))> print>(test_str)>

>

>

Ausgabe:

Gfg is best for Geeks>

Entfernen Sie Satzzeichen aus einem String mit einer Python-Schleife

Dies ist die Brute-Force-Methode, mit der diese Aufgabe ausgeführt werden kann. Dabei prüfen wir mithilfe einer Rohzeichenfolge, die Satzzeichen enthält, nach Satzzeichen und erstellen dann eine Zeichenfolge, in der diese Satzzeichen entfernt werden.

Python3




# initializing string> test_str>=> 'Gfg, is best : for ! Geeks ;'> # printing original string> print>(>'The original string is : '> +> test_str)> # initializing punctuations string> punc>=> '''!()-[]{};:'',./?@#$%^&*_~'''> # Removing punctuations in string> # Using loop + punctuation string> for> ele>in> test_str:> >if> ele>in> punc:> >test_str>=> test_str.replace(ele, '')> # printing result> print>(>'The string after punctuation filter : '> +> test_str)>

>

>

Ausgabe:

The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>

Zeitkomplexität: An)
Nebenraum: O(n), wobei n die Anzahl der Zeichen in der Zeichenfolge ist.

Entfernen Sie das Komma aus einem String mit einer Python-Schleife

Dies ist die brutale Art und Weise, wie diese Aufgabe ausgeführt werden kann. Dabei prüfen wir das Komma mithilfe einer Rohzeichenfolge, die Kommas enthält, und erstellen dann eine Zeichenfolge, indem wir diese Kommas entfernen.

Python3




def> remove_commas(string):> >result>=> ''> >for> char>in> string:> >if> char !>=> ','>:> >result>+>=> char> >return> result> > input_string>=> 'GFG, is, the, best.'> output_string>=> remove_commas(input_string)> print>(output_string)>

cdr vollständiges Formular

>

>

Ausgabe:

GFG is the best>

Entfernen Sie Satzzeichen aus einem String mit Regex

Der Teil des Ersetzens von Satzzeichen kann auch mit ausgeführt werden Regex . Dabei ersetzen wir alle Satzzeichen durch eine leere Zeichenfolge unter Verwendung eines bestimmten regulären Ausdrucks.

Python3




import> re> # initializing string> test_str>=> 'Gfg, is best : for ! Geeks ;'> # printing original string> print>(>'The original string is : '> +> test_str)> # Removing punctuations in string> # Using regex> res>=> re.sub(r>'[^ws]'>, '', test_str)> # printing result> print>(>'The string after punctuation filter : '> +> res)>

Arten von Binärbäumen

>

>

Ausgabe :

The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>

Verwendung einer for-Schleife, einer Satzzeichenfolge und nicht eines in-Operators

Hier sehen wir das Entfernen von Satzzeichen in einer Zeichenfolge mithilfe einer Schleife + einer Satzzeichenfolge.

Python3




# initializing string> test_str>=> 'Gfg, is best : for ! Geeks ;'> # printing original string> print>(>'The original string is : '> +> test_str)> # initializing punctuations string> punc>=> '''!()-[]{};:'',./?@#$%^&*_~'''> res>=>' '> for> ele>in> test_str:> >if> ele>not> in> punc:> >res>+>=>ele> > # printing result> print>(>'The string after punctuation filter : '> +> res)>

>

>

Ausgabe

The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>

Die zeitliche und räumliche Komplexität ist für alle Methoden gleich:

Zeitkomplexität: An)
Nebenraum: An)

Entfernen von Satzzeichen aus einem String mit filter()

Die Methode filter() filtert die Elemente einer Sequenz basierend auf einer bestimmten Bedingung.
In diesem Fall können wir die Methode filter() und eine Lambda-Funktion verwenden, um Satzzeichen herauszufiltern.

Python3




SQL mit zufälliger Reihenfolge

def> remove_punctuation(test_str):> # Using filter() and lambda function to filter out punctuation characters> >result>=> ''.join(>filter>(>lambda> x: x.isalpha()>or> x.isdigit()>or> x.isspace(), test_str))> >return> result> test_str>=> 'Gfg, is best : for ! Geeks ;'> print>(>'The original string is : '> +> test_str)> result>=> remove_punctuation(test_str)> print>(>'The string after punctuation filter : '> +> result)> #This code is contributed by Edula Vinay Kumar Reddy>

>

>

Ausgabe

Kapselungsprogramm
The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>

Zeitkomplexität: An)
Nebenraum: An)

Entfernen von Satzzeichen aus einem String mit der Methode replace()

Importieren Sie das String-Modul, initialisieren Sie dann die Eingabezeichenfolge und drucken Sie die Originalzeichenfolge aus. Durchläuft jedes Satzzeichen in der String-Satzzeichenkonstante, nachdem die Methode „replace()“ verwendet wurde, um jedes Satzzeichen aus der Eingabezeichenfolge zu entfernen. und drucken Sie dann die resultierende Zeichenfolge aus, nachdem Sie Satzzeichen entfernt haben.

Python3




import> string> # initializing string> test_str>=> 'Gfg, is best : for ! Geeks ;'> # printing original string> print>(>'The original string is : '> +> test_str)> # Removing punctuations using replace() method> for> punctuation>in> string.punctuation:> >test_str>=> test_str.replace(punctuation, '')> # printing result> print>(>'The string after punctuation filter : '> +> test_str)>

>

>

Ausgabe

The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>

Zeitkomplexitätsanalyse: O(len(string.punctuation) * len(test_str)) da die for-Schleife alle Satzzeichen in der string.punctuation-Konstante durchläuft, was O(len(string.punctuation)) Zeit benötigt.

Hilfsraumanalyse: O(1) . Da die Eingabezeichenfolge direkt geändert wird, ist kein zusätzlicher Speicherplatz zum Speichern des Ergebnisses erforderlich.