【问题标题】:How can I access a char in string in at specific number? [closed]如何以特定数字访问字符串中的字符? [关闭]
【发布时间】:2018-10-22 03:56:17
【问题描述】:

我尝试了这段代码,但它给了我错误。那么如何在 kotlin 中访问字符串中的字符呢?在java中,可以通过charAt()方法完成。

private fun abc(x: String) {
    var i: Int = 0
    while (x[i].toString() != "+") {
        var y: Char = x[i]
        i++
    }
}

【问题讨论】:

  • 你得到什么错误?也许错误消息对您有所帮助。

标签: string kotlin char kotlin-android-extensions


【解决方案1】:

在 Kotlin 中相当于 Java 的 String.charAt()String.get()。由于这是作为运算符实现的,因此您可以使用[index] 而不是get(index)。例如

val firstChar: Char = "foo"[0]

或者如果你喜欢

val someString: String = "bar"
val firstChar: Char = someString.get(0)

【讨论】:

    【解决方案2】:

    Kotlin 的美妙之处在于您可以通过几种方式实现它,例如。

    1. 你可以简单地通过索引访问它:

      while (x[i] != '+') {
          i++
      }
      
    2. 转换为CharArray

      val chars: CharArray = x.toCharArray()
      
      while (chars[i] != '+') {
          i++
      }
      
    3. 您也可以使用惯用的 Kotlin(首选):

      • forEach

        x.forEach { c ->
            if (c == '+') return@forEach
        }
        
      • forEachIndexed 如果您关心索引

        x.forEachIndexed { index, c ->
            if (c == '+') {
                println("index=$index")
                return@forEachIndexed
            }
        }
        

    在这两种情况下,您的角色都可以通过c 访问

    【讨论】:

    • 感谢我喜欢它转换为 charArray。
    【解决方案3】:

    您可以试试这个方法吗?

    private fun abc(x: String) {
        $p = 1; 
        do {
            $p++
        }while (x[p]!= "+")
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-03
      相关资源
      最近更新 更多