Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Contar palabras (https://www.clubdelphi.com/foros/showthread.php?t=90131)

Reasen 13-04-2016 01:56:31

Contar palabras
 
Hola, me preguntaba si alguien conoce alguna función para contar las palabras que contiene una string.

Por ejemplo, una string: "Hola, Hola, Hola, Adiós"
Incluso si estan entre otros caracteres: "HolarkHola"
o juntas... "HolaHola"

Quería saber desde código cuantas veces "Hola" aparece.



Básicamente es eso, saludos.

Casimiro Notevi 13-04-2016 02:40:32

Es muy distinto contar palabras (básicamente es contar los espacios separadores), a tu segundo ejemplo, que es buscar una cadena de texto dentro de otro texto.
¿Exactamente qué necesitas?

Reasen 13-04-2016 02:47:21

Cita:

Empezado por Casimiro Notevi (Mensaje 504343)
Es muy distinto contar palabras (básicamente es contar los espacios separadores), a tu segundo ejemplo, que es buscar una cadena de texto dentro de otro texto.
¿Exactamente qué necesitas?

Delimitar unos documentos de texto de cierta manera, mi problema era que si habían 2 palabras juntas no conseguía hacer una función que contara esas palabras por separado, tengo una alternativa pero no está muy optimizada que consiste en ir cortando el texto a partir de cada palabra encontrada para ver si están juntas o no.


Intentare mejorarla y la publicare si nadie da con una idea mejor.

Casimiro Notevi 13-04-2016 02:50:06

Cita:

Empezado por Reasen (Mensaje 504344)
Intentare mejorarla y la publicare si nadie da con una idea mejor.

:confused::confused::confused: ¡¡¡ Pero si no has dicho lo que quieres hacer !!!, no me has contestado.

Reasen 13-04-2016 02:53:59

Cita:

Empezado por Casimiro Notevi (Mensaje 504345)
:confused::confused::confused: ¡¡¡ Pero si no has dicho lo que quieres hacer !!!, no me has contestado.

No sabría contestarte de una manera más detallada que como lo hice en el post principal.

Ni más ni menos eso es lo que quiero hacer, una función, por el momento no lo usare en ningún proyecto. Creo que me será útil pronto.

Casimiro Notevi 13-04-2016 02:56:33

Vale.
Cita:

Doctor, me duele.
¿Qué le duele?
No lo sé exactamente, pero se lo diré más adelante.
:confused:

Reasen 13-04-2016 02:58:40

Cita:

Empezado por Casimiro Notevi (Mensaje 504348)
Vale.

:confused:

Solo quería debatir sobre cómo crear una función óptima para ello..... Elimina el post entonces...

Casimiro Notevi 13-04-2016 03:10:13

A ver, que no es eso, lee bien mi pregunta inicial, y lee tu mensaje, lo que preguntas son 2 cosas distintas, por lo que tendrán que ser funciones distintas (aunque se pueda hacer en una sola).
Pero lo principal, primordial, básico, esencial y decisivo es saber EXACTAMENTE qué necesitas conseguir.
Por ejemplo, la frase: "Hola, ¿qué haces? Hola, no hago nada"
Puedes contar todas las palabras de la frase.
Puedes contar una palabra determinada, por ejemplo: hola.
Son dos cosas distintas.
Caso 1: En el primer caso bastará con contar los espacios y sumar uno, total, 6 espacios +1= 7 palabras
Caso 2: En el segundo caso hay que recorrer la frase buscando la cadena de caracteres "hola", es también muy fácil, pero es distinto.
Por eso es necesario que sepas qué quieres conseguir, el caso 1 o el caso 2.

jafera 13-04-2016 10:00:52

Por lo que deduzco, Reasen quiere hacer alguna funcion que conozca las palabras correctamente y si el que la ha escrito no lo ha hecho correctamente lo detecte.

Poniendo su ejemplo si se escribe "hola, hola, hola", es muy facil saber que hay tres "hola", pero y las comas ","? Habrá que tenerlas en cuenta.
Si escrible "holahola", como detectar que la palabra no existe y es "hola" la buena y sdebe contar dos veces?

Creo que esto parece más una aplicación de procesador de textos que otra cosa.

Saludos

Casimiro Notevi 13-04-2016 12:34:56

Pues ese es el problema, que no sabemos exactamente qué quiere hacer nuestro amigo Reasen.

Cita:

Empezado por jafera (Mensaje 504352)
Por lo que deduzco, Reasen quiere hacer alguna funcion que conozca las palabras correctamente y si el que la ha escrito no lo ha hecho correctamente lo detecte.
Poniendo su ejemplo si se escribe "hola, hola, hola", es muy facil saber que hay tres "hola", pero y las comas ","? Habrá que tenerlas en cuenta.
Si escrible "holahola", como detectar que la palabra no existe y es "hola" la buena y sdebe contar dos veces?
Creo que esto parece más una aplicación de procesador de textos que otra cosa.
Saludos


Lepe 13-04-2016 14:00:52

ummmm huele a práctica de programación... ¿qué no? :D

bah!, ya nos contará después :)


La franja horaria es GMT +2. Ahora son las 13:36:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi