2014-04-19 72 views
0

我想根据长度拆分这个数字:11101204。分区将是111.分区2 = 01,分区3 = 2,分区4 = 04;即111,01,12,04 ......我希望以这种方式拆分它,如果这个数字只有3个数字,那么Division应该是111,其余的应该是null。我该怎么做到这一点? 非常感谢!Java - 如何根据一定的长度拆分字符串?

+0

有一种叫做'substring'的东西。 – devnull

回答

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 
+0

谢谢队友:) – user3496326

0

听起来像是正则表达式的工作。你的例子不是自洽的,所以你必须更清楚地定义你的需求并调整正则表达式来匹配。

正则表达式"(\\d{3})(\\d{2})?"会匹配“111”或“11101”,但不匹配“1110”,因为第二个捕获组(您称为“分区”)不是所需的两位数。当字符串匹配时,您可以使用Matcher#group(int)来获取组。对于未匹配的组,它将返回null或空字符串,具体取决于组中的表达式是否可以匹配空字符串。

相关问题