Demandez à un expert :
Comment utiliser le script pour diviser le texte suivant en 1 ligne tous les 64 caractères,
598A0F0548917B44F6C87B44855B7B44D7637B44DA57BE45140B000000000000598A1405715D7B4433637B445CFF7A441F057B4460562A45DE04000000000000598A1905F6087B44C3357B4433F37A44A4007B44C07519455304000000000000598A1E055CFF7A44C3257B445CCF7A44F6D87A4460D10845D903000000000000
Obtenez ce formulaire

Beaucoup devaient le faire et cela dépend un peu de l'apparence de vos chaînes (ont-elles toujours cette longue séquence de zéros, est-elle toujours divisible par 64, combien de temps elle dure).
Vous trouverez ci-dessous un moyen peut-être pas si courant de le faire en utilisant Regex Match :
Names Default To Here(1);
txt = "598A0F0548917B44F6C87B44855B7B44D7637B44DA57BE45140B000000000000598A1405715D7B4433637B445CFF7A441F057B4460562A45DE04000000000000598A1905F6087B44C3357B4433F37A44A4007B44C07519455304000000000000598A1E055CFF7A44C3257B445CCF7A44F6D87A4460D10845D903000000000000";
splitCount = Length(txt) / 64; //amount of splits
regexPattern = repeat("(.{64})", splitCount); //create regex pattern to be used with Regex Match()
regexList = Regex Match(txt, regexPattern); //get list of splits
answer = Substr(regexList, 2); //drop first index, because it has the whole string (see scripting index for why)
//add to table
dt = New Table("test",
New Column("test", Character, Values(answer)),
New Column("lenght", Numeric, Continuous, << Set Each Value(Length(:test)))
);Vous pouvez également utiliser la boucle For et Substr, insérer des valeurs supplémentaires dans la chaîne et utiliser des mots après cela
Éditer:
Autre méthode d'expression régulière :
Names Default To Here(1);
txtToSplit = "598A0F0548917B44F6C87B44855B7B44D7637B44DA57BE45140B000000000000598A1405715D7B4433637B445CFF7A441F057B4460562A45DE04000000000000598A1905F6087B44C3357B4433F37A44A4007B44C07519455304000000000000598A1E055CFF7A44C3257B445CCF7A44F6D87A4460D10845D903000000000000";
splitLength = "64";
regexPattern = "([^\n]{1,"||splitLength||"})";
replaceChar = ".";
result = Words(Regex(txtToSplit, regexPattern, "\1"||replaceChar,GLOBALREPLACE), replaceChar);Avec boucle For et Substr :
Names Default To Here(1);
txtToSplit = "598A0F0548917B44F6C87B44855B7B44D7637B44DA57BE45140B000000000000598A1405715D7B4433637B445CFF7A441F057B4460562A45DE04000000000000598A1905F6087B44C3357B4433F37A44A4007B44C07519455304000000000000598A1E055CFF7A44C3257B445CCF7A44F6D87A4460D10845D903000000000000";
splitCount = Length(txtToSplit) / 64; //amount of splits
resultList = {};
For(i = 0, i < splitCount, i++,
Insert Into(resultList, Substr(txtToSplit, 1+i*64, 64));
);
show(resultList);