如何以特定的数字访问字符串中的字符?

时间:2018-05-11 17:22:35

标签: string kotlin char kotlin-android-extensions

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

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

3 个答案:

答案 0 :(得分:5)

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

val firstChar: Char = "foo"[0]

或者如果您愿意

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

答案 1 :(得分:0)

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
          }
      }
      
  4. 在这两种情况下,都可以使用c

    访问您的角色

答案 2 :(得分:-1)

请你试试这个方法吗?

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