¿Existe alguna función para saber si una cadena tiene un formato determinado?
Siento preguntar por una función, pero he estado buscando de todas las maneras que sé y no he encontrado nada.
Antes de nada quiero aclarar que no estoy pidiendo que me hagan una función, es para saber si existe o si alguien la ha implementado por algún lado, y si no, para implementarla yo, con lo que se aceptarían consejos. Busco algo así como una función a la que se le pasen dos strings: uno para la cadena en la que comprobar y otra en la que se indicaría el formato; y que devuelva un booleano. La función sería algo así: Ejemplos de su utilización sería: ComprobarFormato(1/4/2010,*/*/*); ComprobarFormato(2 de junio de 2009,*de*de*); ComprobarFormato(12345678-A,*-#); O algo parecido, no he estudiado demasiado cómo especificar el formato, sólo he pensado en usar * para N caracteres y # para uno solo, estaría bien poder especificar si son letras o números. Saludos y gracias por vuestro tiempo. |
Hola Kandorf.
Lo que planteas se conoce como búsqueda de expresiones regulares (http://es.wikipedia.org/wiki/Expresiones_regulares), y es seguro que encontrarás más información sobre este tema en el foro. En la Red existen varias funciones y componentes para tal labor, y ahora mismo no recuerdo si las últimas versiones de Delphi incluyen algo así de fábrica, pero es posible. Saludos. Al González. :) |
Hola, gracias por responder. No he comprobado si delphi tiene funciones que lo hagan, pero he encontrado algo por internet.
Por si a alguien le resulta útil, he estado buscando por google y he encontrado unas librerías llamadas TRegExpr, aquí hablan un poco de ellas http://www.latiumsoftware.com/es/articles/00009.php , hay documentación en español, pero la página oficial ya no existe, se pueden descargar de aquí http://www.slunecnice.cz/sw/tregexpr/ Saludos. |
Gracias por los nuevos enlaces. Que bueno que encontraste esa biblioteca. Si buscas en estos mismos foros, verás que hay varios hilos donde se comenta sobre ella. ;)
No dejes de preguntarnos si surge alguna duda, y de compartir algo de cómo lo solucionaste si lo crees justo. Saludos. :) |
Hola, la duda me surgió porque quise poder pasar fechas escritas a mano a TDate, tales como "1/4/2010", "1-4-99" o "2 de junio de 2009", para ello he utilizado estas librerías y he creado la siguiente función, se podrá mejorar seguro, pero a mí por ahora me satisface.
Saludos, espero que resulte últil a alguien. |
La franja horaria es GMT +2. Ahora son las 18:49:43. |
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