FoxPro/Visual FoxPro - Caracteres Repetidos

 
Vista:
Imágen de perfil de nancy
Val: 15
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Caracteres Repetidos

Publicado por nancy (8 intervenciones) el 24/05/2021 19:44:26
Hola buen día, espero me puedan ayudar con la siguiente duda que tengo.
Habrá algún comando que me ayude a identificar que carácter se repite más veces, dentro de una cadena?. Ejemplo:

Tengo en mi campo cadena la siguiente información:
aaaaaaaaaaaa
aaaaddddd
ddeeehhh
wkk

Para el primer registro el carácter que más se repite es la letra a, para el segundo la letra d, para el tercero ahí son la e,h y para el cuarto la letra k.

Como se podrán dar cuenta las cadenas no son de la misma longitud.

Se los agradecería mucho si me orientan, porque solo he encontrado la función SUBSTR ó LEN, pero no obtengo el resultado deseado.

Que tengan excelente día.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Caracteres Repetidos

Publicado por jose camilo (805 intervenciones) el 25/05/2021 15:11:23
https://groups.google.com/g/publicesvfoxpro

en este grupo esta el creador de esta herramienta, podría darte ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 147
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Caracteres Repetidos

Publicado por zarlu (97 intervenciones) el 26/05/2021 18:13:38
Buenos días nancy!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CLEAR
DIMENSION lcCadena(4)
lcCadena(1)="aaaaaaaaaaaa"&&a
lcCadena(2)="aaaaddddd"&&d
lcCadena(3)="ddeeehhh"&&e
lcCadena(4)="wkk"&&k
FOR a=1 TO 4
	lcLetra=""
	lcFrecuen=0
	FOR b=1 TO LEN(lcCadena(a))
		IF OCCURS(SUBSTR(lcCadena(a),b,1),lcCadena(a))>lcFrecuen
			lcLetra=SUBSTR(lcCadena(a),b,1)
			lcFrecuen=OCCURS(SUBSTR(lcCadena(a),b,1),lcCadena(a))
		ENDIF
	ENDFOR
	? lcCadena(a)+"-"+STR(lcFrecuen)+"-"+lcLetra
ENDFOR

Suerte
zarlu
Chetumal, Quintana Roo, México
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar