3170_es-ES
Obtención de subcadenas con número variable de caracteres.Tengo un conjunto de nombres de archivos que contienen dentro del nombre un número de identificación. Estos números de identificación no tienen necesariamente la misma longitud de caracteres. ¿Alguna idea sobre cómo lograr esto? Esto es lo que tengo para la longitud de caracteres de ID fija.
Para (k = 1,
k k ++,
IDNumber = subsr (listOfFiles, 1, 8);
insertinto (listOfIDNumbers, IDNumber);
);
El problema surge cuando el número de identificación no tiene una longitud de 7 caracteres y tengo nombres de archivos complejos.
ABCDE_1234567_ABCD.csv
ABC_123_ABCDEFG.csv
Lo que quiero es simplemente obtener 1234567 y 123. ¿Puedo descartar .csv de alguna manera o tal vez subrayar?Re: Obteniendo subcadenas con numero variable de caracteres.Buen punto sobre las expresiones regulares. Para el registro, en el caso que usted describió, lo siguiente también funcionaría:
IDNumber = Word (1, listOfFiles, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")Re: Obteniendo subcadenas con numero variable de caracteres.La otra opción sería aprovechar las expresiones regulares. Si los nombres de archivo no tuvieran _ que separaran las distintas partes, pero el nombre de ID estaba compuesto únicamente por números y el resto del nombre del archivo no contenía números, entonces esto funcionaría.
Una guía de sintaxis de expresiones regulares que siempre hago referencia es:
http://www.regular-expressions.info/reference.html
Se corrigió un error de gramática estúpido.
El mensaje fue editado por: mewingRe: Obteniendo subcadenas con numero variable de caracteres.Eso funciona muy bien, gracias por la ayuda!Re: Obteniendo subcadenas con numero variable de caracteres.Prueba esto:
IDNumber = Word (1, listOfFiles, "_")
Comments
There are no comments yet