拆拼不规则版本号,以0填充(js、java)
js版:
var version = "2.17z517.25";
var versions = version.split('.');
var size = 0;
var value;
for(var key in versions) {
value = versions[key];
if(size < value.length) size = value.length;
}
version.replace(/[\w]+/g, function(word) {
if(size > word.length) {
return Array(size - word.length + 1).join('0') + word;
}
return word;
});
java版:
String version = "2.17z517.25";
String[] versions = version.split("\\.");
int size = 0;
for(String s : versions) {
if(size < s.length()) size = s.length();
}
StringBuffer sbs = new StringBuffer();
StringBuffer numFormat = new StringBuffer("%").append(sizes).append("s");
for(String str : versions) {
sbs.append(".").append(String.format(numFormat, str).replaceAll(" ", "0"));
}
if(0 < sbs.length()) sbs.delete(0, 1);
如有更好逻辑思路,请不吝赐教
评论