Python | Extraer substrings entre paréntesis

A veces, mientras trabajamos con strings de Python, podemos tener un problema en el que necesitamos extraer las substrings entre ciertos caracteres y pueden ser corchetes. Esto puede tener aplicación en los casos en que tenemos tuplas incrustadas en una string. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Usar regex 
Una forma de resolver este problema es usando regex. En esto, empleamos expresiones regulares adecuadas y realizamos la tarea de extracción de los elementos requeridos. 
 

Python3

# Python3 code to demonstrate working of
# Extract substrings between brackets
# Using regex
import re
 
# initializing string
test_str = "geeks(for)geeks is (best)"
 
# printing original string
print("The original string is : " + test_str)
 
# Extract substrings between brackets
# Using regex
res = re.findall(r'\(.*?\)', test_str)
 
# printing result
print("The element between brackets : " + str(res))
Producción : 

The original string is : geeks(for)geeks is (best)
The element between brackets : ['(for)', '(best)']

 

 
Método n.º 2: usar la comprensión de listas + isinstance() + eval() 
La combinación de los métodos anteriores también se puede usar para resolver este problema. En este eval() asume que los paréntesis son tuplas y ayuda a la extracción de strings dentro de ellos.
 

Python3

# Python3 code to demonstrate working of
# Extract substrings between brackets
# Using list comprehension + eval() + isinstance()
 
# initializing string
test_str = "[(234, ), 4, (432, )]"
 
# printing original string
print("The original string is : " + test_str)
 
# Extract substrings between brackets
# Using list comprehension + eval() + isinstance()
res = [str(idx) for idx in eval(test_str) if isinstance(idx, tuple)]
 
# printing result
print("The element between brackets : " + str(res))
Producción : 

The original string is : [(234, ), 4, (432, )]
The element between brackets : ['(234, )', '(432, )']

 

Publicación traducida automáticamente

Artículo escrito por manjeet_04 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 *