我需要在每个第i和第j个字符处拆分字符串,其中i和j可以根据输入参数更改。例如,如果我有一个输入:
我希望我的输出为一个数组:
如何修改上述正则表达式以交替在每个第2和第3个字符处分割?
像“(?<=\\G.{2})(?<=\\G.{3})”这样的天真链式表达式无效。
String s = "1234567890abcdef";
int i = 2;
int j = 3;
我希望我的输出为一个数组:
[12, 345, 67, 890, ab, cde, f]
我找到了一个紧凑的正则表达式来在每个第n个字符处分割字符串。当n=3时,例如使用"(?<=\\G...)"
或 "(?<=\\G.{3})"
String s = "1234567890abcdef";
int n = 3;
System.out.println(Arrays.toString(s.split("(?<=\\G.{"+n+"})")));
//output: [123, 456, 789, 0ab, cde, f]
如何修改上述正则表达式以交替在每个第2和第3个字符处分割?
像“(?<=\\G.{2})(?<=\\G.{3})”这样的天真链式表达式无效。