帮助!
String all = "1.10.2";
String[] allArray = all.split("[.]");
我想做的是制作字符串";1.10.2";转换为000010001000002作为整数。00001 00010 00002因此进行填充,将每个数字分成5位,并将它们组合为一个整数。split()之后我该怎么办?
您可以这样使用拆分:
String[] allArray = all.split("\.");
for (int i = 0; i < allArray.length; ++i) {
String padding = "0".repeat(5 - allArray[i].length());
allArray[i] = padding + allArray[i];
}
String padded = String.join("", allArray);
你可以用这样的流来做:
String padded = Arrays.stream(all.split("\."))
.map(s -> "0".repeat(5 - s.length()) + s)
.collect(Collectors.joining(""));
你也可以在不显式拆分的情况下完成,比如:
String padded =
Pattern.compile("(?:^|\.)([^.]+)").matcher(all)
.replaceAll(mr -> "0".repeat(5 - mr.group(1).length());