我试过这段代码,但它给了我错误。 那么如何在kotlin中访问字符串中的字符。 在java中,它可以通过charAt()方法完成。
private fun abc(x: String) {
var i: Int = 0
while (x[i].toString() != "+") {
var y: Char = x[i]
i++
}
}
答案 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的魅力在于你可以通过几种方式实现它,例如。
您只需按索引访问它:
while (x[i] != '+') {
i++
}
转换为CharArray
val chars: CharArray = x.toCharArray()
while (chars[i] != '+') {
i++
}
您也可以使用惯用的Kotlin(首选):
forEach
x.forEach { c ->
if (c == '+') return@forEach
}
forEachIndexed 如果您关心索引
x.forEachIndexed { index, c ->
if (c == '+') {
println("index=$index")
return@forEachIndexed
}
}
在这两种情况下,都可以使用c
答案 2 :(得分:-1)
请你试试这个方法吗?
private fun abc(x: String) {
$p = 1;
do {
$p++
}while (x[p]!= "+")
}