先看个例子
import java.util.Arrays;
public class $ {
public static void main(String[] args) {
test("0123456");
test("01a2345");
test("012345");
}
private static void test(String str) {
String[] s = str.split("[0-9]{3}");
System.out.println(Arrays.toString(s));
}
}
结果:
[, , 6]
[01a, 5]
[]
再分析下结果:
结论:找到匹配的字符串,将他左面的和右面的放进数组,而他本身不体现在数组里面。
上面的第一个结果,012匹配,找345也匹配,所以结果是6
第二个结果,找到234,左面的和右面的01a,5,组成数组
第三个结果,找到012,再找345,都匹配,所以结果是空
你的需求,建议使用字符串截取的方法,方便简单,有时候最笨的方法可能是最有效的方法。
你这个是按照指定的格式分割,也就是每三个数字都去掉,保留其他的部分。
想想
String a="1,2,3,4,5";
这样如果
String []s=a.split(",");
就是得到数组 12345
去掉了逗号
你这个也是一个道理。
想要获得每三个数字,要么用正则匹配,要么直接用subString
用subString方法来做吧,比较简单