我想根据长度分割这个数字:11101204。喜欢分区将是111. Division2 = 01,Division3 = 2,Divison 4 = 04;即,111,01,12,04 ...我希望它以这种方式分割,如果数字只有3个数字,那么除法应该是111而休息应该是null我怎样才能实现这个目的? 非常感谢!
答案 0 :(得分:2)
尝试使用String.substring(beginIndex, endIndex)
String string = "11101204";
System.out.println(string.substring(0, 3));
System.out.println(string.substring(3, 5));
System.out.println(string.substring(5, 6));
System.out.println(string.substring(6, 8));
输出:
111
01
2
04
答案 1 :(得分:0)
听起来像正则表达式的工作。您的示例不是自我一致的,因此您必须更清楚地定义您的要求并调整正则表达式以匹配。
正则表达式"(\\d{3})(\\d{2})?"
将匹配" 111"或" 11101",但不是" 1110"因为第二个捕获组(您称之为"分区")不是必需的两位数。当字符串匹配时,您将使用Matcher#group(int)
来获取组。对于没有匹配的组,它将返回null或空字符串,具体取决于组中的表达式是否可以匹配空字符串。