Página 1 de 1

Ayuda con Cadena de Texto

Publicado: 28 Oct 2012, 22:44
por kotoqu
Estimados. Gusto en saludarles.

La consulta es la siguiente ¿ Cómo hago para saber cuantas veces se repite una misma palabra en una cadena de texto?
Ejemplo. $Cadena = "El numero cero es el numero menor de cualquier numero"
Entonces necesito saber cuantas veces se repite la palabra "numero" en la cadena.
Me da la impresión que el tema va por las ER, pero no me manejo mucho con ellas.

Por favor si alguien sabe como hacerlo se lo agradecería mucho.

De antemanos. Gracias

Re: Ayuda con Cadena de Texto

Publicado: 28 Oct 2012, 23:09
por Chefito
Pues una forma muy simple puede ser buscando todas las coincidencias con una expresión regular, y seguidamente, como se almacenan en un array, ver su tamaño.

Código: Seleccionar todo

$Cadena = "El numero cero es el numero menor de cualquier numero"
$coincidencias=StringRegExp($Cadena,"numero",3)
MsgBox(0,"",UBound($coincidencias))
Saludos.

Re: Ayuda con Cadena de Texto

Publicado: 28 Oct 2012, 23:41
por kotoqu
Hola Chefito. Gracias por responder.

La cuestión es la siguiente:

La cadena de texto nunca es igual y las veces en que aparece la palabra "numero" puede ser 5, 33, 50, 200, etc. (esa cantidad de veces no la conozco)

Ejecute la ER que tu me indicaste en una cadena de texto, de la cual ya sabía que contenía 96 veces la palabra"numero", a modo de ejercicio.

Pero el resultado que me mostró el MsgBox (0, "numero", UBound ($Coincidencias)) fue de 230 y no de 96 como esperaba. Yo necesito llegar al numero 96 que es la cantidad de veces que aparece la palabra "numero".
Entonces ¿Que hice mal o que me falta?

De antemano, gracias Chefito.

Re: Ayuda con Cadena de Texto

Publicado: 29 Oct 2012, 00:34
por kotoqu
SORRY... SORRY... SORRY

Chefito tú tenias razón... yo me había equivocado.
La función que tu me indicaste está correcta.

Muchiiiiisimas gracias, te pasaste.

Doy la consulta por RESUELTA

Gracias.