拆分后如何填充?
How to pad after split?
求助!
String all = "1.10.2";
String[] allArray = all.split("[.]");
我想做的是将字符串“1.10.2”转换为整数 000010001000002。
00001 00010 00002
所以给出填充并将每个数字变成 5 位数字并将它们组合为一个整数。
split() 后我应该做什么?
你可以像这样用 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());
求助!
String all = "1.10.2";
String[] allArray = all.split("[.]");
我想做的是将字符串“1.10.2”转换为整数 000010001000002。 00001 00010 00002 所以给出填充并将每个数字变成 5 位数字并将它们组合为一个整数。 split() 后我应该做什么?
你可以像这样用 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());