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 に答える