kotlin火了,我也来学习!
先练个手,用kotlin比较两个版本号。思路如下
常见的版本号有:v1、1.2.3、1.1.0.332_beat。大致就这几种,这里面有一个规律:都是通过数字来标识的,按照数字的排序进行比较,比如首字母大的版本高。这样就简单了,可以把版本号中所有的数字提取出来(可以用正则表达式),然后统一他们的长度,长度当然是用较大的那个了。这样的版本号就成了完全由数字组成的字符串了,并且长度还一致,转成Int就好比较了。思路就是这样了,下面直接粘代码了
fun compareVersion(v1: String, v2: String): String? {
if (v1 == null || v1.length < 1 || v2 == null || v2.length < 1) return null
val regEx = "[^0-9]"
val p = Pattern.compile(regEx)
var s1: String = p.matcher(v1).replaceAll("").trim()
var s2: String = p.matcher(v2).replaceAll("").trim()
val cha: Int = s1.length