Erreur JSL Pas assez d'arguments dans l'évaluation de 'Contient'J'ai une liste de "noms de fichiers" et je veux créer une sous-liste de seulement ceux que leurs noms contiennent / se terminent par "_2020". J'utilise un Regex pour sélectionner pour ces fichiers: "_ \ d {4}".Cependant, j'obtiens une erreur "Pas assez d'arguments".
Si je teste les ListID, j'obtiens la liste attendue des noms de fichiers, elle n'est pas vide. J'apprécierai tous les pointeurs sur la façon de corriger mon script.
L'erreur de journal est: pas assez d'arguments dans l'accès ou l'évaluation de 'Contains', Contains / * ### * / (Regex (Char (ListIDs [i]), "_ \ d {4}"))
Show (ListIDs);<BR />ListIDs = {"2020-06","practice", "file1_2020", "file2_2020"}<BR /><BR />SelectedIDs = {};
For (i = 1, i <= N Items (ListIDs), i++,
If (Contains(Regex(Char(ListIDs[i]), "_\d{4}")),
Insert Into (SelectedIDs, i);
);
);
N Items (SelectedIDs);
Print(SelectedIDs);ScriptingRe: Erreur JSL Pas assez d'arguments dans l'évaluation de «Contient»Vous avez besoin du deuxième argument de la fonction Contains () pour désigner la chaîne cible. Comme ça:
Show (ListIDs);ListIDs = {"2020-06","practice", "file1_2020", "file2_2020"}SelectedIDs = {};
For (i = 1, i <= N Items (ListIDs), i++,
If (Contains(Regex(Char(ListIDs[i]), "_\d{4}"), "2020"),
Insert Into (SelectedIDs, i);
);
);
N Items (SelectedIDs);
Print(SelectedIDs);Re: Erreur JSL Pas assez d'arguments dans l'évaluation de «Contient»Salut Mark,
Le deuxième argument est-il le "délimiteur"? J'aurais pensé que ce serait "," pas "2020".Le but du Regex est de sélectionner uniquement les fichiers qui ont "_2020" ou dans le futur "_2021", "_2021" etc. Désolé si je ne m'explique pas.
Re: Erreur JSL Pas assez d'arguments dans l'évaluation de «Contient»Salut,
J'ai décidé de modifier le script et d'utiliser la fonction Regex Match.Celui-ci m'a rapproché de mon objectif.Celui-ci renvoie la position sur la liste des noms de fichiers attendus.Comment puis-je obtenir les "noms" et non leurs positions.
ListIDs = {"2019-11", "2020-06", "file1_2020", "file2_2020"};
SelectedIDs = {};
For (i = 1, i <= N Items (ListIDs), i++,
If ((Regex Match (Char(ListIDs[i]), "_\d{4}") !={}),
Insert Into (SelectedIDs, i);
);
);
N Items (SelectedIDs);
Print(SelectedIDs);