logo

Pitón | Eliminar puntuación de la cadena

Muchas veces mientras trabajaba con cadenas de pitón , tenemos un problema en el que necesitamos eliminar ciertos caracteres de las cadenas. Esto puede tener aplicaciones en el preprocesamiento de datos en el Pitón .

Ejemplo



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

Formas de eliminar la puntuación de una cadena

Puede haber muchas formas de eliminar la puntuación de una cadena, pero las principales se enumeran a continuación. Así que exploremos uno por uno. A continuación se detallan los métodos que cubriremos en este artículo:

archivo abierto java
  • Eliminar puntuación de una cadena con Translate
  • Eliminar puntuación de una cadena con un bucle de Python
  • Eliminar coma de una cadena con un bucle de Python
  • Eliminar puntuación de una cadena con expresiones regulares
  • Usando bucle for, cadena de puntuación y no en operador
  • Eliminar puntuación de una cadena con filter()
  • Usando el método reemplazar()

Eliminar puntuación de una cadena con Translate

Los dos primeros argumentos a favor cadena.traducir El método son cadenas vacías y la tercera entrada es una lista de pitones de la puntuación que debe eliminarse. Esto indica al método Python que elimine la puntuación de una cadena. éste es uno de mejores formas de quitar la puntuación de una cadena .

Python3








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

>

>

Producción:

Gfg is best for Geeks>

Eliminar puntuación de una cadena con un bucle de Python

Esta es la forma de fuerza bruta en la que se puede realizar esta tarea. En esto, verificamos las puntuaciones usando una cadena sin formato que contiene puntuaciones y luego construimos una cadena eliminando esas puntuaciones.

Python3


C#



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

>

>

Producción:

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

Complejidad del tiempo: En)
Espacio auxiliar: O(n), donde n es el número de caracteres de la cadena.

Eliminar coma de una cadena con un bucle de Python

Ésta es la forma bruta en que se puede realizar esta tarea. En esto, verificamos la coma usando una cadena sin formato que contiene comas y luego construimos una cadena eliminando esas comas.

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

>

>

Producción:

GFG is the best>

Eliminar puntuación de una cadena con expresiones regulares

La parte de reemplazar la puntuación también se puede realizar usando expresión regular . En esto, reemplazamos toda la puntuación con una cadena vacía usando una determinada expresión regular.

actor ranbir kapoor edad

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

>

>

Producción :

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

Usando bucle for, cadena de puntuación y no en operador

Aquí veremos cómo eliminar puntuaciones en una cadena usando bucle + cadena de puntuación.

Python3


tostring java



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

>

>

Producción

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

La complejidad temporal y espacial de todos los métodos es la misma:

Complejidad del tiempo: En)
Espacio auxiliar: En)

Eliminar puntuación de una cadena con filter()

El método filter() filtra los elementos de una secuencia según una condición determinada.
En este caso, podemos usar el método filter() y una función lambda para filtrar los caracteres de puntuación.

Python3




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>

>

>

Producción

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

Complejidad del tiempo: En)
Espacio auxiliar: En)

Eliminar puntuación de una cadena usando el método reemplazar()

Importe el módulo de cadena, luego inicialice la cadena de entrada e imprima la cadena original. Recorra cada carácter de puntuación en la constante de puntuación de la cadena después de usar el método reemplazar() para eliminar cada carácter de puntuación de la cadena de entrada. y luego imprima la cadena resultante después de eliminar las puntuaciones.

java cast char a cadena

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

>

>

Producción

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

Análisis de complejidad del tiempo: O(len(string.punctuation) * len(test_str)) ya que el bucle for itera a través de todos los caracteres de puntuación en la constante string.punctuation, lo que lleva O(len(string.punctuation)) tiempo.

Análisis del espacio auxiliar: O(1) . Debido a que la cadena de entrada se modifica en su lugar, no se requiere espacio adicional para almacenar el resultado.