【问题标题】:Java - How to split strings based on certain length ? [closed]Java - 如何根据特定长度拆分字符串? [关闭]
【发布时间】:2014-04-19 17:38:25
【问题描述】:
我想根据长度拆分这个数字:11101204。像 Division 将是 111。 Division2=01,Division3=2,Divison 4=04;即 111, 01 , 12, 04 ...我希望它以这种方式拆分,如果数字只有 3 个数字,则除法应为 111,其余应为 null 我该如何实现?
非常感谢!
【问题讨论】:
标签:
java
android
substring
c-strings
【解决方案1】:
试试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
【解决方案2】:
听起来像是正则表达式的工作。您的示例不是自洽的,因此您必须更清楚地定义您的要求并调整正则表达式以匹配。
正则表达式"(\\d{3})(\\d{2})?" 将匹配“111”或“11101”,但不匹配“1110”,因为第二个捕获组(您称为“除法”)不是必需的两位数。当字符串匹配时,您将使用 Matcher#group(int) 来获取组。对于未匹配的组,它将返回 null 或空字符串,具体取决于组中的表达式是否可以匹配空字符串。