Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/10/2011, 12:02
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Encontrar cadena situada antes de otra busqueda

Creo que esto es un trabajo para expresiones regulares.

Aquí un ejemplo con split:
Código Python:
Ver original
  1. oraciones = [u"el coche es blanco y azul",
  2.              u"el árbol es grande y verde",
  3.              u"el perro es negro y pequeño",
  4.              u"el puente es negro y grande",
  5.              ]
  6.  
  7. for oracion in oraciones:
  8.     if "grande" in oracion:
  9.         palabras = oracion.split()
  10.         print palabras[1]

Y aquí otro con expresiones regulares.
Código Python:
Ver original
  1. import re
  2. oraciones = [u"el coche es blanco y azul",
  3.              u"el árbol es grande y verde",
  4.              u"el perro es negro y pequeño",
  5.              u"el puente es negro y grande",
  6.              ]
  7. pattern = re.compile("^el (\w+) es (grande y \w+|\w+ y grande)$", re.U)
  8.  
  9. for oracion in oraciones:
  10.     p = pattern.search(oracion)
  11.     if p:
  12.         print p.group(1)

Otra cosa que no entiendo como es que sería mas fácil meterlo a una base de datos. Si en Python puedes hacer manipulaciones mas complejas.