fun main(args: Array<String>) {
val comingvalue = "\"6340040278031835\"".replace("[^0-9]".toRegex(), "");
print(getAuthDigits(comingvalue))
}
fun getAuthDigits( number :String?): String? {
return if (number?.length ?: 0 < 14) {
null
} else {
number?.substring(10, 14)
}
}
这是我在main
方法中调用的函数。有人可以建议如何创建扩展函数以及如何使用main
输入参数调用它的comingvalue
方法吗?
答案 0 :(得分:1)
fun String.getAuthDigits(): String? {
return if (this.length ?: 0 < 14) {
null
} else {
this.substring(10, 14)
}
}
并像下面这样称呼
fun main(args: Array<String>) {
val comingvalue = "\"6340040278031835\"".replace("[^0-9]".toRegex(), "");
print(comingvalue.getAuthDigits())
}
答案 1 :(得分:0)
如果这是唯一调用该函数的位置,则最好内联编写。
如果不满足条件,则可以使用takeIf()
返回null
:
fun main() {
val authDigits: String? = """"6340040278031835""""
.takeIf { it.length >= 14 }?.substring(10, 14)
println(authDigits)
}
输出:
8031