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
方法中调用的函数。有人能建议如何创建一个扩展函数,以及如何使用comingvalue
输入参数将其称为main
方法吗?
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())
}
如果这是您调用该函数的唯一位置,那么您也可以内联编写它。
如果条件不满足,可以使用takeIf()
返回null
:
fun main() {
val authDigits: String? = """"6340040278031835""""
.takeIf { it.length >= 14 }?.substring(10, 14)
println(authDigits)
}
输出:
8031