Foros del Web » Programando para Internet » Javascript »

Transformar datos de un texto en valores

Estas en el tema de Transformar datos de un texto en valores en el foro de Javascript en Foros del Web. Por el título igual no me expliqué muy bien pero espero aclararlo ahora: Supongamos que tengo este texto: He ido a la frutería y he ...
  #1 (permalink)  
Antiguo 18/06/2011, 11:06
Avatar de Sirikon  
Fecha de Ingreso: marzo-2009
Mensajes: 82
Antigüedad: 15 años, 1 mes
Puntos: 11
Transformar datos de un texto en valores

Por el título igual no me expliqué muy bien pero espero aclararlo ahora:

Supongamos que tengo este texto:

He ido a la frutería y he comprado 10 Manzanas que estaban baratas, 2 Platanos para los niños mañana y 1 Sandía que hace calor ya y refresca

Quiero de ahí obtener ésto:

valor manzana = 10
valor platano = 2
valor sandía = 1

Osea transformar esos datos de forma que pueda trabajar con ellos y manipularlos.

A ver si me pueden ayudar, saludos!
  #2 (permalink)  
Antiguo 18/06/2011, 13:15
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Respuesta: Transformar datos de un texto en valores

Hola,

En caso de que siempre vaya el número seguido de la palabra que enumera (por ejemplo "10 Manzanas") yo lo haría con la clase String del JavaScript y usando expresiones regulares. Te dejo un par de links por si no lo llevas por la mano:

Clase String

Expresiones regulares

Espero que te sea de ayuda.
Saludos.
  #3 (permalink)  
Antiguo 18/06/2011, 13:36
Avatar de Sirikon  
Fecha de Ingreso: marzo-2009
Mensajes: 82
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Transformar datos de un texto en valores

Muchas gracias justo lo que necesitaba!
  #4 (permalink)  
Antiguo 18/06/2011, 15:01
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 5 meses
Puntos: 56
Respuesta: Transformar datos de un texto en valores

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. var texto = "He ido a la frutería y he comprado 10 Manzanas que estaban baratas, 2 Platanos para los niños mañana y 1 Sandía que hace calor ya y refresca"
  3. var found = texto.match(/\d+\s+(\w?[áéíóúÁÉÍÓÚñÑ]?)+/g), i;
  4.  
  5. for(i=0;i<found.length;i++){
  6.     var val = found[i].split(/\s+/)
  7.     eval(val[1].toLowerCase().replace(/s$/i,'') +"="+val[0])
  8. }
  9. alert(manzana)  //10
  10. alert(platano)  //2
  11. alert(sandía)   //1
  12. </script>
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */

Etiquetas: transformar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:13.