首页 > 解决方案 > Kotlin - 如何使用重载减号和 for 循环从 Word 中删除字母?

问题描述

你好编码朋友,

我在 Kotlin Challenge 上工作了一周。挑战是从单词中删除一个字母,但它必须带有“运算符重载”和“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')
    }
}

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

谢谢你所有的努力

标签: kotlinfor-loopoperator-overloading

解决方案


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

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

推荐阅读