3170_fr-FR
Obtention de sous-chaînes avec un nombre variable de caractèresJ'ai un ensemble de noms de fichiers contenant un numéro d'identification. Ces numéros d'identification n'ont pas nécessairement la même longueur de caractère. Des idées sur la façon de réaliser ceci? C'est ce que j'ai pour la longueur de caractère ID fixe.
Pour (k = 1,
k k ++,
IDNumber = subsr (listOfFiles1, 8);
insertinto (listOfIDNumbers, IDNumber);
)
Le problème se pose lorsque le numéro d'identification ne fait pas 7 caractères et que j'ai des noms de fichiers complexes.
ABCDE_1234567_ABCD.csv
ABC_123_ABCDEFG.csv
Ce que je veux, c'est juste obtenir 1234567 et 123. Puis-je désactiver .csv d'une manière ou d'une autre?Re: Obtention de sous-chaînes avec un nombre variable de caractèresBon point sur les expressions régulières. Pour mémoire, dans le cas que vous avez décrit, les éléments suivants fonctionneraient également:
IDNumber = Word (1, listOfFiles, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")Re: Obtention de sous-chaînes avec un nombre variable de caractèresL'autre option serait de tirer parti des expressions régulières. Si les noms de fichiers ne comportaient pas de caractères séparant les différentes parties mais que le nom d'ID était uniquement composé de nombres et que le reste du nom de fichier ne contenait pas de chiffres, cela fonctionnerait.
Un guide de syntaxe de regex que je référence toujours est:
http://www.regular-expressions.info/reference.html
Correction d'une erreur de grammaire stupide
Le message a été édité par: mewingRe: Obtention de sous-chaînes avec un nombre variable de caractèresCela fonctionne très bien, merci pour l'aide!Re: Obtention de sous-chaînes avec un nombre variable de caractèresEssaye ça:
IDNumber = Word (1, listOfFiles, "_")
Comments
There are no comments yet