-1

为什么我会收到此错误。

后视模式匹配必须在索引 16 附近有一个有界的最大长度:

encodedString.split("(?<=\\G.{524288})")

我正在尝试将非常长的字符串分成 524288 个字符

4

2 回答 2

3

为工作使用正确的工具。正则表达式不需要将 a 拆分String为大小相等的子字符串:

String s;// your string to split
int size;// the size of the substrings (last String may be shorter)

String[] array=new String[(s.length()+size-1)/size];
for(int ix=0, pos=0; ix<array.length; ix++, pos+=size)
  array[ix]=s.substring(pos, Math.min(s.length(), pos+size));
于 2013-11-06T11:00:14.853 回答
2

你需要\\而不是\. 尝试这个:

split("(?<=\\G.{524288})")
于 2013-11-06T09:59:09.843 回答