如何在Kotlin中创建和调用扩展函数 fun main(args:Array){ val comingvalue=““634004027801835”。替换(“[^0-9]”。toRegex(),“”); 打印(getAuthDigits(comingvalue)) } 有趣的getAuthDigits(数字:字符串?):字符串?{ 返回if(数字?长度?:0

如何在Kotlin中创建和调用扩展函数 fun main(args:Array){ val comingvalue=““634004027801835”。替换(“[^0-9]”。toRegex(),“”); 打印(getAuthDigits(comingvalue)) } 有趣的getAuthDigits(数字:字符串?):字符串?{ 返回if(数字?长度?:0,kotlin,Kotlin,这是我在main方法中调用的函数。任何人都可以建议如何创建扩展函数,以及如何使用comingvalue输入参数调用它main方法吗?fun String.getAuthDigits():String?{ fun main(args: Array<String>) { val comingvalue = "\"6340040278031835\"".replace("[^0-9]".toRegex(), "&

这是我在
main
方法中调用的函数。任何人都可以建议如何创建扩展函数,以及如何使用
comingvalue
输入参数调用它
main
方法吗?

fun String.getAuthDigits():String?{
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)
    }
}
如果返回(此长度?:0<14){ 无效的 }否则{ 这个。子串(10,14) } }
下面这样称呼它

fun String.getAuthDigits(): String? {
    return if (this.length ?: 0 < 14) {
        null
    } else {
        this.substring(10, 14)
    }
}
fun main(args:Array){
val comingvalue=““634004027801835”。替换(“[^0-9]”。toRegex(),“”);
打印(comingvalue.getAuthDigits())
}

如果这是您调用该函数的唯一位置,您也可以将其内联编写

如果不满足条件,可以使用返回
null

fun main(args: Array<String>) {
    val comingvalue = "\"6340040278031835\"".replace("[^0-9]".toRegex(), "");
    print(comingvalue.getAuthDigits())
}
输出:

fun main() {
    val authDigits: String? = """"6340040278031835""""
        .takeIf { it.length >= 14 }?.substring(10, 14)

    println(authDigits)
}

你需要延长什么课程?请先参考这一点。您的意思是扩展函数用于
comingvalue吗。getAuthDigits
?@AgiMaulana getAuthDigits我必须制作一个扩展函数fun String.getAuth(数字:String?):String?{return if(数字?.length?:0<14){null}否则{number?.substring(10,14)}。我试过这样做,但我无法呼叫。我已经发布了与您的问题相关的代码,您可以尝试使用
replace()
?在示例代码中,它永远不会替换任何内容,因为字符串以
”开头,而不是数字。
8031