我在应用程序级的build.gradle中有以下代码行
applicationVariants.all { variant ->
variant.resValue "string", "versionName", "Version " + variant.versionName
}
有没有一种方法可以执行正则表达式并只获取的特定部分
variant.versionName
它给我返回了类似2.56.2-α的东西,我想删除除了开头的数字之外的所有内容,以获得2.56.2
当然可以。您可以将正则java代码与正则表达式或一些groovy特定的代码一起使用:
对于java方法,有一些东西:
Pattern pattern = Pattern.compile("^(\d+\.\d+\.\d+).*");
Matcher matcher = pattern.matcher(variant.versionName);
matcher.find()
def strippedVersion = matcher.group(1)
对于groovy方法:
def matcher = variant.versionName =~ /^(d+.d+.d+).*/
matcher.find()
def strippedVersion = matcher.group(1)