専門家に尋ねてください:
スクリプトを使用して次のテキストを 64 文字ごとに 1 行に分割する方法、
598A0F0548917B44F6C87B44855B7B44D7637B44DA57BE45140B000000000000598A1405715D7B4433637B445CFF7A441F057B4460562A45DE04000000000000598A1905F6087B44C3357B4433F37A44A4007B44C07519455304000000000000598A1E055CFF7A44C3257B445CCF7A44F6D87A4460D10845D903000000000000
このようなフォームを取得します

多くの人がこれを行うことでしたが、文字列がどのように見えるかによって少し異なります(常にゼロの長いシーケンスがありますか、それは常に64で割り切れますか、それはどれくらいの長さですか)。
以下は、正規表現一致を使用してそれを行うためのあまり一般的ではない方法の1つです。
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)))
);ForループとSubstrを使用して、文字列に追加の値を挿入し、その後でWordを使用することもできます。
編集:
その他の正規表現方法:
Names Default To Here(1);
txtToSplit = "598A0F0548917B44F6C87B44855B7B44D7637B44DA57BE45140B000000000000598A1405715D7B4433637B445CFF7A441F057B4460562A45DE04000000000000598A1905F6087B44C3357B4433F37A44A4007B44C07519455304000000000000598A1E055CFF7A44C3257B445CCF7A44F6D87A4460D10845D903000000000000";
splitLength = "64";
regexPattern = "([^\n]{1,"||splitLength||"})";
replaceChar = ".";
result = Words(Regex(txtToSplit, regexPattern, "\1"||replaceChar,GLOBALREPLACE), replaceChar);Forループと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);