我希望能够将一个没有分隔符的字符串分成两个字符,但是正则表达式的拆分并没有很好的工作。
以下是我的代码:
String str="splitstring";
System.out.println("Split.."+str.trim().split("(?<=\\G.{2})").length);
System.out.println("Split.."+str.trim().split("(?<=\\G.{2})")[0]);
System.out.println("Split.."+str.trim().split("(?<=\\G.{2})")[1]);
输出:
Split..2
Split..sp
Split..litstring
System.out.println(Arrays.toString(str.split("(?<=\\G.{2})")));
给出了预期的行为。 - Kevin Cruijssen\G
的行为是未定义的。这里有一个PHP演示([0] => sp,[1] => lit,[2] => str,[3] => ing,[4] =>
),C#演示(与Java输出相同),Ruby演示(与Java输出相同)。R(也使用PCRE引擎!)的示例与Java一样工作。 - Wiktor Stribiżew