Estoy intentando tomar desde una ruta, una parte del nombre del archivo, específicamente el número antes del punto “01.GIE Enero” pero no he sido capaz.
D:\OneDrive - personal\Indicadores\Registro de tiempos\2022\GIE\ADM aport\01.GIE Enero.xlsx
he utilizado el nodo de cell Splitter, pero igual me queda completo el nombre del archivo con extensión
Intenté realizarlo con regex, pero soy algo novato en el tema, así que no funcionó
Se podría hacer con el nodo -Cell Splitter- pero habría que hacerlo en varias etapas y luego filtrar las columnas innecesarias. Con un -String Manipulation- y un poco de regex es mucho más fácil y rápido.
La expresión regular es la siguiente:
regexReplace($Path$, "^.*.\([0-9]{2}).*$", "$1")
Hay que usar la función “regexReplace()” para extraer lo que está definido entre paréntesis, es decir 2 dígitos consecutivos:
([0-9]{2})
El “$1” nos indica que queremos recuperar lo que está entre paréntesis en la expresión regular anterior.
El "^.*.\" indica que aceptamos todo lo que venga hasta llegar a una barra invertida \, justo antes de los dos dígitos.
El .*$ indica que existe algo después de los dos dígitos hasta el fin de la frase indicado por el “$”.
Si en vez de 2 dígitos, hicieran falta por ejemplo entre 2 y 4, habría entonces que escribir lo siguiente ^.*.\([0-9]{2,4}).*$
Espero que estas indicaciones le sean de ayuda. No soy un experto en expresiones regulares, lejos de serlo, así que quizás se pueda mejorar para hacerlo más simple y/o más robusto.
Nos dirá por favor si le convino esta solución o si necesita más ayuda.
Hola @Blinsigo. me alegro se haya resuelto tu pregunta. Te sugiero, en el futuro, publicar las consultas en castellano en Community Groups>KNIME en Español. Esperamos volver a verte por aquí!