Foros del Web » Programando para Internet » ASP Clásico »

Contar palabras especificas en una cadena

Estas en el tema de Contar palabras especificas en una cadena en el foro de ASP Clásico en Foros del Web. Hola, como hacer para contar cuantas palabras especificas existen en una cadena, es decir: especifico 3 palabras por defecto: hola naranja luces ahora tengo una ...
  #1 (permalink)  
Antiguo 26/08/2009, 16:48
 
Fecha de Ingreso: agosto-2007
Mensajes: 79
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Contar palabras especificas en una cadena

Hola, como hacer para contar cuantas palabras especificas existen en una cadena, es decir: especifico 3 palabras por defecto:

hola
naranja
luces

ahora tengo una cadena de textp, y necesito saber:

Si existe alguna de esas palabras, y si existe, cuantas veces se repite.

Algun codigo de ejemplo, gracias.
  #2 (permalink)  
Antiguo 27/08/2009, 05:03
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: Contar palabras especificas en una cadena

Hola

Podrías usar expresiones regulares

Código asp:
Ver original
  1. Dim n, objRegExp, strClave, Coincidencia, cadena, array_cadena, i
  2. Function Encuentra (plbraClave)
  3. cadena = "blanco negro azul blanco azul negro rojo"
  4. array_cadena = Split(plbraClave,"-")
  5. For n=0 to UBound(array_cadena)
  6. i = 0
  7. Response.Write array_cadena(n)
  8. Set objRegExp = new RegExp
  9. With objRegExp
  10. .Pattern = "\b("&array_cadena(n)&")+\b"
  11. .IgnoreCase = True
  12. .Global = True
  13. End With
  14. Set strClave = objRegExp.Execute(cadena)
  15. For Each Coincidencia in strClave
  16. i = i +1
  17. Next
  18. Response.Write " : " & i & "<br />"
  19. Set strClave = nothing
  20. Set objRegExp = nothing
  21. Next 'n
  22. End Function
  23.  
  24. Response.Write Encuentra("blanco-negro-rojo")

EDITADO: No siempre se logra a la primera

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 27/08/2009 a las 06:24
  #3 (permalink)  
Antiguo 27/08/2009, 10:20
 
Fecha de Ingreso: agosto-2007
Mensajes: 79
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Contar palabras especificas en una cadena

Funciona muy bien, pero si la palabra clave contiene caracteres especiales como [] entonces no funciona. Quisiera que me contara las palabras q estan dentro de los corchetes, por ejemplo, que me cuente cuantas palabras

[rojo]

Existen, es decir, que tome en cuenta los simolos []

Gracias.
  #4 (permalink)  
Antiguo 27/08/2009, 12:00
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: Contar palabras especificas en una cadena

Cita:
Iniciado por delorenzis Ver Mensaje
Funciona muy bien, pero si la palabra clave contiene caracteres especiales como [] entonces no funciona. Quisiera que me contara las palabras q estan dentro de los corchetes, por ejemplo, que me cuente cuantas palabras

[rojo]

Existen, es decir, que tome en cuenta los simolos []

Gracias.
Bien, modifica el patrón

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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

SíEste tema le ha gustado a 1 personas




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