python - una - Extraer cadena de entre comillas
operaciones con cadenas en python (3)
Usted podría hacer un string.split () en él. Si la cadena tiene el formato correcto entre comillas (es decir, un número par de comillas), cada valor impar en la lista contendrá un elemento que está entre comillas.
>>> s = ''SetVariables "a" "b" "c"'';
>>> l = s.split(''"'')[1::2]; # the [1::2] is a slicing which extracts odd values
>>> print l;
[''a'', ''b'', ''c'']
>>> print l[2]; # to show you how to extract individual items from output
c
Este es también un enfoque más rápido que las expresiones regulares. Con el módulo timeit, la velocidad de este código es aproximadamente 4 veces más rápida:
% python timeit.py -s ''import re'' ''re.findall("/"([^/"]*)/"", "SetVariables /"a/" /"b/" /"c/" ")''
1000000 loops, best of 3: 2.37 usec per loop
% python timeit.py ''"SetVariables /"a/" /"b/" /"c/"".split("/"")[1::2];''
1000000 loops, best of 3: 0.569 usec per loop
Quiero extraer información del texto ingresado por el usuario. Imagina que yo ingrese lo siguiente:
SetVariables "a" "b" "c"
¿Cómo puedo extraer información entre el primer conjunto de citas? Entonces el segundo? Entonces el tercero?
Las expresiones regulares son buenas en esto:
import re
quoted = re.compile(''"[^"]*"'')
for value in quoted.findall(userInputtedText):
print value
>>> import re
>>> re.findall(''"([^"]*)"'', ''SetVariables "a" "b" "c" '')
[''a'', ''b'', ''c'']