将字符串N拆分为N/X字符串

Car*_*los 2 java regex string math split

我想要一些关于如何根据算术运算将字符串拆分为N个单独字符串的指导; 例如string.length()/ 300.

我知道用分隔符这样做的方法

testString.split(",");
Run Code Online (Sandbox Code Playgroud)

但是如何使用该split方法使用贪婪/不情愿/占有量词?


更新:根据要求,我希望实现的类似示例;

String X = "32028783836295C75546F7272656E745C756E742E657865000032002E002E005C0"
Run Code Online (Sandbox Code Playgroud)

导致X/3 (或多或少......手工完成)

X[0] = 32028783836295C75546F

X[1] = 6E745C756E742E6578650

x[2] = 65000032002E002E005C0
Run Code Online (Sandbox Code Playgroud)

不要担心解释如何将它放入数组,我没有问题,只关于如何不使用分隔符进行拆分,而是算术运算

Bar*_*ers 10

您可以通过拆分来实现(?<=\G.{5}),将字符串aaaaabbbbbccccceeeeefff拆分为以下部分:

aaaaa
bbbbb
ccccc
eeeee
fff
Run Code Online (Sandbox Code Playgroud)

\G匹配以前匹配发生的位置(零宽度)位置.最初,\G从字符串的开头开始.请注意,默认情况下,.元字符与换行符不匹配,因此如果您希望它与每个字符匹配,请启用DOT-ALL : (?s)(?<=\G.{5}).

演示:

class Main {
  public static void main(String[] args) {
    int N = 5;
    String text = "aaaaabbbbbccccceeeeefff";
    String[] tokens = text.split("(?<=\\G.{" + N + "})");
    for(String t : tokens) {
      System.out.println(t);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

可以在线测试:http://ideone.com/q6dVB

编辑

由于您要求提供有关正则表达式的文档,以下是建议的正则表达式包含的主题的特定教程: