Kotlin -如何从Word中删除字母与重载减去和for循环?



大家好,

我在Kotlin挑战赛上工作了一周。挑战在于从Word中删除一个字母,但它必须带有"Operator overload";和";for"循环。我已经用过滤器方法做过了,它工作了,但没有完成挑战。

我的程序-理论我知道它可以做到,但实践是另一个世界

operator fun String.minus(filter1: String): String {
return filter1.minus("l")
}
fun main() {
val wortHW1 = "Hallo"
val wortHW2 = "Hallo World"
for (x in wortHW1) {
x.minus('l')
}
}

我真的希望你们都能帮助我,困了一个星期了。

谢谢你的努力

buildString函数是编写简洁字符串操作代码的有用方法。例如:

operator fun String.minus(removedChar: Char): String = buildString {
for (c in this@minus) {
if (c != removedChar) append(c)
}
}

如果我理解正确并给出要求,这就是您正在寻找的:

fun main() {
val wortHW1 = "Hallo"
val wortHW2 = "Hallo World"
println(wortHW1.minus('l'))
println(wortHW2.minus(' '))
}
operator fun String.minus(letterToRemove: Char): String {
val lettersToKeep: MutableList<Char> = mutableListOf()
for (letter in this) {
if (letter != letterToRemove) {
lettersToKeep.add(letter)
}
}
return lettersToKeep.joinToString("")
}