从Kotlin中的字符串中删除字符

时间:2018-03-18 03:11:44

标签: android string kotlin

我正在尝试创建一个在Kotlin中使用字符串的Android计算器。我的问题是如果它已经包含一个逗号(或否定),我该如何删除它。

以下是我的代码,它会正确添加逗号,但如果用户再次点击则不会将其删除:

if (!buClickValue.contains(".")) {
                    buClickValue += "."
                } else {
                    buClickValue.replace(".", "")
                }
            }

或者这是我的Github

2 个答案:

答案 0 :(得分:21)

replace()方法用于在替换字符后返回新String的值。在您的情况下,替换字符后获得的值永远不会重新分配回原始变量。

特别是在您的else子句中,该行应更改为 -

buClickValue = buClickValue.replace(".", "")

答案 1 :(得分:0)

更逻辑的技术不是替换而是过滤

buClickValue = buClickValue.filter { at == "." }

或扩展

filtered = ".,;:"

buClickValue = buClickValue.filter { filtered.indexOf(at) > -1 }