【问题标题】: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 的美妙之处在于您可以通过几种方式实现它,例如。
-
你可以简单地通过索引访问它:
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 访问
【解决方案3】:
您可以试试这个方法吗?
private fun abc(x: String) {
$p = 1;
do {
$p++
}while (x[p]!= "+")
}