dph5199278

拆拼不规则版本号,以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);


如有更好逻辑思路,请不吝赐教


评论