Fragen Sie die Experten:
So teilen Sie den folgenden Text mithilfe eines Skripts alle 64 Zeichen in eine Zeile auf:
598A0F0548917B44F6C87B44855B7B44D7637B44DA57BE45140B000000000000598A1405715D7B4433637B445CFF7A441F057B4460562A45DE04000000000000598A1905F6087B44C3357B4433F37A44A4007B44C07519455304000000000000598A1E055CFF7A44C3257B445CCF7A44F6D87A4460D10845D903000000000000
Holen Sie sich ein Formular wie dieses

Viele mussten das machen und es hängt ein bisschen davon ab, wie deine Strings aussehen (haben sie immer diese lange Folge von Nullen, ist sie immer durch 64 teilbar, wie lang sie ist).
Unten ist eine vielleicht nicht so übliche Methode, dies mit Regex Match zu tun:
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)))
);Sie können auch For-Schleife und Substr verwenden, zusätzliche Werte in die Zeichenfolge einfügen und danach Wörter verwenden
Bearbeiten:
Andere Regex-Methode:
Names Default To Here(1);
txtToSplit = "598A0F0548917B44F6C87B44855B7B44D7637B44DA57BE45140B000000000000598A1405715D7B4433637B445CFF7A441F057B4460562A45DE04000000000000598A1905F6087B44C3357B4433F37A44A4007B44C07519455304000000000000598A1E055CFF7A44C3257B445CCF7A44F6D87A4460D10845D903000000000000";
splitLength = "64";
regexPattern = "([^\n]{1,"||splitLength||"})";
replaceChar = ".";
result = Words(Regex(txtToSplit, regexPattern, "\1"||replaceChar,GLOBALREPLACE), replaceChar);Mit For-Schleife und 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);