如何在科特林中从旧字符串创建新字符串

How to create new string from old string in kotlin

我已经使用替换从旧字符串 inviteCode 创建了一个新的字符串 inviteToken,但是 inviteToken 的值没有传递到 startmeet 函数中。

(deepLink?.getQueryParameter("inviteCode")?.substringBefore("?inviteToken=","") + deepLink?.getQueryParameter("inviteCode")?.replace("inviteCode","inviteToken") ).let {startMeet(it)}

关于在函数 startmeet 中传递字符串值。它显示错误:参数 inviteToken

没有传递值

这是 startmeet 的代码:

private fun startMeet(inviteCode: String, inviteToken: String) {


    MyUtils.joinmeet(
        this,
        inviteCode,
        inviteToken
    ) 



}

简化代码将有助于您理解正在发生的事情

PS:以下答案仅基于对您要实现的目标的假设

val str = (deepLink?.getQueryParameter("inviteCode")?.substringBefore("?inviteToken=","") + deepLink?.getQueryParameter("inviteCode")?.replace("inviteCode","inviteToken") )

上面的行 returns 只是一个字符串值,并且对该变量调用 let 只会给你一个值。

假设您希望上述语句中的两个值作为单独的字符串值

val inviteCode = deepLink?.getQueryParameter("inviteCode")?.substringBefore("?inviteToken=","")
val inviteToken = deepLink?.getQueryParameter("inviteCode")?.replace("inviteCode","inviteToken")

并假设 let 被(错误地)用于 null 检查

if(inviteCode !=null && inviteToken != null) {
  startMeet(inviteCode, inviteToken)
}