将字符串分解为所有已知长度的子字符串

诀窍是使用 regex \G 的后视,这意味着上一个匹配的结束

String[] parts = str.split("(?<=\\G.{8})");

正则表达式在最后一个匹配结束后匹配 8 个字符。因为在这种情况下匹配是零宽度,我们可以更简单地说“最后一个匹配后的 8 个字符”。

方便地,\G 被初始化为输入的开始,因此它也适用于输入的第一部分。