Hola a todos,
No tenía pensado publicar hoy nada, pero al final me he animado!.
En este post os voy a proponer una forma de contar caracteres específicos de un texto usando Power Fx en Power Apps. Será un post muy cortito ya que la función también lo es. Y sí, en efecto, vamos a programar una UDF que nos permita contar los caracteres que indiquemos sobre un texto.
Imaginad el siguiente texto (forma parte de «Instrucciones para subir una escalera», de Julio Cortázar):
«Nadie habrá dejado de observar que con frecuencia el suelo se pliega de manera tal
que una parte sube en ángulo recto con el plano del suelo, y luego la parte
siguiente se coloca paralela a este plano, para dar paso a una nueva perpendicular,
conducta que se repite en espiral o en línea quebrada hasta alturas sumamente
variables. Agachándose y poniendo la mano izquierda en una de las partes
verticales, y la derecha en la horizontal correspondiente, se está en posesión
momentánea de un peldaño o escalón. Cada uno de estos peldaños, formados como
se ve por dos elementos, se situó un tanto más arriba y adelante que el anterior,
principio que da sentido a la escalera, ya que cualquiera otra combinación producirá
formas quizá más bellas o pintorescas, pero incapaces de trasladar de una planta
baja a un primer piso.«
Bien comenzaremos definiendo nuestra función que vamos a llamar, ContarV:
ContarV(Texto: Text; Caracter: Text) : Text =
(Len(Texto) - Len(Substitute(Texto; Caracter; "")));;
Como podéis observar, el procedimiento en muy sencillo, vamos sustituir el carácter elegido por «» y mostraremos la diferencia del conteo del texto inicial con el sustituido, de forma que la diferencia es el número de caracteres.
Una vez que tenemos la función construida la pegamos en la propiedad fórmulas de nuestro proyecto, en App:

El siguiente paso es crear una variable que almacene lo que hemos contado, y para ello, en la propiedad OnSelect de un botón indicamos el siguiente código:
Set(cuenta;ContarV(TextInput1.Text;TextInput2.Text))
Y ya tenemos el resultado en nuestra variable «cuenta», que podemos colocar en un label en su propiedad text.
el resultado es el siguiente, para por ejemplo, la letra a:

Y así es como he implementado este método para una herramienta que desarrollé hace un tiempo. Espero que sea de utilidad!!
