¿Cómo eliminar el texto entre paréntesis en Python?

En este artículo, aprenderemos cómo eliminar el contenido dentro de los corchetes sin eliminarlos en python.

Ejemplos:

Input: (hai)geeks
Output: ()geeks

Input: (geeks)for(geeks)
Output: ()for()

Podemos eliminar el contenido dentro de los corchetes sin quitar los corchetes en 2 métodos, uno de ellos es usar los métodos incorporados de la biblioteca re y el segundo método es implementar esta funcionalidad iterando la string usando un bucle for

Método 1: Usaremos el método sub() de la biblioteca re (expresiones regulares). 

sub(): la funcionalidad del método sub() es que encontrará el patrón específico y lo reemplazará con alguna string.

Este método encontrará la substring que está presente en los corchetes o paréntesis y la reemplazará con corchetes vacíos.

Acercarse :

  1. Importar la biblioteca re
  2. Ahora busque la substring presente entre corchetes y reemplácela con () usando el método sub().
  3. Necesitamos pasar el método sub() con 2 argumentos que son el patrón y la string para ser reemplazados por .
  4. Imprime la string.

En el siguiente código \(.*?\) representa la expresión regular para encontrar los corchetes que contienen algo de contenido. Los corchetes () tienen un significado especial en la expresión regular en python, por lo que Backlash \ se usa para escapar de ese significado. 

Python3

# Importing module
import re
  
# Input string
string="(Geeks)for(Geeks)"
  
# \(.*?\) ==> it is a regular expression for finding
# the pattern for brackets containing some content
string=re.sub("\(.*?\)","()",string)
  
# Output string
print(string)
Producción

()for()

Complejidad temporal: O(2^m + n).

Donde m es el tamaño de la expresión regular y n es el tamaño de la string. Aquí, el método sub() tardará 2^m en encontrar el patrón usando la expresión regular y O(n) para iterar a través de la string y reemplazarlo con «()».

Método 2: en este método, iteramos a través de la string y si el carácter que se está iterando no está presente entre paréntesis, entonces el carácter se agregará a la string resultante.

Si hay un paréntesis abierto o cerrado presente en la string, el paréntesis se agregará a la string resultante, pero la string intermedia no se agregará a la string resultante.

Acercarse:

  1. Iterar el bucle para cada carácter de la string.
  2. Si aparece un ‘(‘ o ‘)’ en la string, lo agregaremos a la string de resultados.
  3. Si el número de paréntesis en la string es cero, agregue el carácter a la string de resultado.
  4. Aquí, si el número de paréntesis es mayor que cero, indica que el carácter actual que se está iterando está presente entre dos paréntesis.
  5. Imprime la string de resultados.

Python3

# Input string
string="geeks(for)geeks"
  
# resultant string
result = ''
  
# paren counts the number of brackets encountered
paren= 0
for ch in string:
      
    # if the character is ( then increment the paren
    # and add ( to the resultant string.
    if ch == '(':
        paren =paren+ 1
        result = result + '('
      
    # if the character is ) and paren is greater than 0, 
    # then increment the paren and 
    # add ) to the resultant string.
    elif (ch == ')') and paren:
        result = result + ')'
        paren =paren- 1
      
    # if the character neither ( nor  then add it to
    # resultant string.
    elif not paren:
        result += ch
  
# print the resultant string.
print(result)
Producción

geeks()geeks

Complejidad temporal : O(n).

Aquí n es la longitud de la string. En el código, iteramos a través de la string y agregamos el contenido fuera del paréntesis, por lo que solo tomaría el tiempo O (n).

Publicación traducida automáticamente

Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *