logo

Python | Elimina la puntuació de la cadena

Moltes vegades mentre es treballa amb Cordes de Python , tenim un problema en què hem d'eliminar determinats caràcters de les cadenes. Això pot tenir aplicacions en el preprocessament de dades al Python .

Exemple



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

Maneres d'eliminar la puntuació d'una cadena

Hi pot haver moltes maneres d'eliminar la puntuació d'una cadena, però les principals es mostren a continuació. Així que anem a explorar-los un per un. A continuació es mostren els mètodes que tractarem en aquest article:

char a cadena en java
  • Elimineu la puntuació d'una cadena amb Traduir
  • Elimina la puntuació d'una cadena amb un bucle Python
  • Elimina la coma d'una cadena amb un bucle Python
  • Elimineu la puntuació d'una cadena amb regex
  • S'utilitza el bucle for, la cadena de puntuació i no l'operador
  • Eliminació de la puntuació d'una cadena amb filter()
  • Utilitzant el mètode replace().

Elimineu la puntuació d'una cadena amb Traduir

Els dos primers arguments per cadena.tradueix El mètode és cadenes buides i la tercera entrada és a Llista de Python de la puntuació que s'hauria d'eliminar. Això indica al mètode Python per eliminar la puntuació d'una cadena. Aquest és un dels millors maneres de treure la puntuació d'una cadena .

Python 3








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

>

>

Sortida:

Gfg is best for Geeks>

Elimina la puntuació d'una cadena amb un bucle Python

Aquesta és la manera de força bruta en què es pot realitzar aquesta tasca. En això, comprovem les puntuació mitjançant una cadena en brut que contingui puntuació i després construïm una cadena eliminant aquestes puntuació.

Python 3




llista vs configurat en java
# 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)>

>

>

Sortida:

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

Complexitat temporal: O(n)
Espai auxiliar: O(n), on n és el nombre de caràcters de la cadena.

Elimina la coma d'una cadena amb un bucle Python

Aquesta és la manera bruta en què es pot realitzar aquesta tasca. En això, comprovem la coma utilitzant una cadena en brut que conté comes i després construïm una cadena eliminant aquestes comes.

Python 3




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

>

>

Sortida:

GFG is the best>

Elimineu la puntuació d'una cadena amb regex

La part de substitució de la puntuació també es pot realitzar utilitzant expressió regular . En això, substituïm tots els signes de puntuació per una cadena buida utilitzant una determinada expressió regular.

Python 3


java 8



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

>

>

Sortida:

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

S'utilitza el bucle for, la cadena de puntuació i no l'operador

Aquí, veurem Eliminació de puntuació a la cadena mitjançant bucle + cadena de puntuació.

Python 3




diferència de data excel

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

>

>

Sortida

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

La complexitat temporal i espacial de tots els mètodes és la mateixa:

Complexitat temporal: O(n)
Espai auxiliar: O(n)

Eliminació de la puntuació d'una cadena amb filter()

El mètode filter() filtra els elements d'una seqüència en funció d'una condició determinada.
En aquest cas, podem utilitzar el mètode filter() i una funció lambda per filtrar els caràcters de puntuació.

Python 3




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>

>

>

Sortida

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

Complexitat temporal: O(n)
Espai auxiliar: O(n)

Eliminació de la puntuació d'una cadena mitjançant el mètode replace().

Importeu el mòdul de cadena i, a continuació, inicialitzeu la cadena d'entrada i imprimiu la cadena original. Recorre cada caràcter de puntuació de la constant de puntuació de la cadena després d'utilitzar el mètode replace() per eliminar cada caràcter de puntuació de la cadena d'entrada. i després imprimiu la cadena resultant després d'eliminar les puntuació.

Python 3


r en llenguatge c



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

>

>

Sortida

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

Anàlisi de la complexitat temporal: O(len(string.punctuation) * len(test_str)) ja que el bucle for itera a través de tots els caràcters de puntuació de la constant string.punctuation, que triga O(len(string.punctuation)).

Anàlisi de l'espai auxiliar: O(1) . Com que la cadena d'entrada es modifica al seu lloc, no es necessita espai addicional per emmagatzemar el resultat.