2

我有这样的字符串:

String s = "1234567890";

我想使用 split("regex") 来获得这个输出:

12
23
34
45
56
67
78
89
90

我应该使用什么正则表达式?

4

2 回答 2

10
于 2013-06-01T19:38:06.270 回答
10

我同意Jarrods 的回答,如果您不必使用正则表达式并且还有其他简单的解决方案,那么请尽量避免使用正则表达式。但是,如果您必须使用它,请阅读我的其余答案...

不幸的是,您将无法做到这一点split,因为您想在几个拆分部分中使用相同的数字,这是不可能的,因为拆分无法将新内容添加到数据中。

您可以使用前瞻机制来做到这一点

String data = "1234567890";
Matcher m = Pattern.compile("(?=(\\d\\d))").matcher(data);
while (m.find())
    System.out.println(m.group(1));

输出:

12
23
34
45
56
67
78
89
90
于 2013-06-01T19:40:59.237 回答