android - 是否可以在 build.gradle 中为字符串执行 REGEX?
问题描述
我在应用程序级别的 build.gradle 中有以下代码行
applicationVariants.all { variant ->
variant.resValue "string", "versionName", "Version " + variant.versionName
}
有没有办法执行正则表达式并且只抓取特定部分
variant.versionName
它返回给我类似 2.56.2-alpharc 的东西,我想删除除开头的数字之外的所有内容以获得 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)
对于常规方法:
def matcher = variant.versionName =~ /^(\d+\.\d+\.\d+).*/
matcher.find()
def strippedVersion = matcher.group(1)
推荐阅读
- ios - SwiftUI:[未知进程名称] CGAffineTransformInvert:奇异矩阵错误
- json - Spring Api 从响应中删除空字段
- python - 带有 Automap Base 的 sqlalchemy-continuum
- python - 熊猫中的数据框 C 或 Fortran 排序
- javascript - 'ReadableStream 类型的参数
' 不可分配给“ReadableStream”类型的参数 - html - 使用 sortable() 时无法对框进行排序
- python - 在python中,如何在不替换特定列的情况下生成随机抽样?
- arrays - 在映射函数之后遍历数组中的每个属性,然后返回新数组
- backend - 当后端服务器之一关闭时,haproxy 能否确保对后端服务器的每次调用都成功?
- tensorflow - ValueError: GRU(reset_after=False) 与 GRU(reset_after=True) 不兼容