Tomar un caracter específico dentro de una ruta

Buenos días para todos,

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
image

Intenté realizarlo con regex, pero soy algo novato en el tema, así que no funcionó

El resultado esperado es que me pueda indicar 01 y cada mes si cambio el número me lo pueda capturar.

De antemano muchas gracias por su apoyo a cada uno de ustedes.

Buenos días @Blinsigo y welcome a la comunidad de KNIME !

Adjunto una posible solución basada en expresión regular:

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.

Saludos,

Ael

3 Likes

Muchas gracias por su ayuda, me funcionó perfecto.

1 Like

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

1 Like

Hola @Blinsigo, fue un placer y me alegro que le funcionara. Gracias por la validación de la solución.

Hola @iperez, acabo de pasar la pregunta al apartado de consultas en espaol para que sea más visible por los hispanohablantes.

Saludos

Ael

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.