2 marzo, 2024

CONTAR LAS VECES QUE SE REPITE UN CARACTER ESPECÍFICO EN UN TEXTO CON POWER APPS

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!!

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies