Kotlin去除字符串空格函数失效,求助排查问题原因
问题分析与修正
你的代码存在两个关键问题:
- 初始化错误:
result的初始值被设为了" "(带一个空格),这会导致最终返回的字符串开头永远多一个空格。比如输入"abc d e",最终会得到" abcde"而非预期的"abcde"。 - 未输出结果:
main函数里调用了nonSpaceString但没有打印返回值,所以你无法看到最终的执行结果。
修正后的代码
fun nonSpaceString(s: String): String { var result = "" // 改为空字符串初始化 for (index in 0..s.length-1) { if (s[index] != ' ') { result += s[index] } } return result } fun main(){ val result = nonSpaceString("abc d e") println(result) // 打印结果 }
更简洁的Kotlin写法
Kotlin内置了字符串过滤函数,一行就能实现需求,还能避免循环中频繁拼接字符串的性能损耗:
fun nonSpaceString(s: String) = s.filter { it != ' ' } fun main(){ println(nonSpaceString("abc d e")) }
内容的提问来源于stack exchange,提问作者ramazan ÇELİK
相关产品推荐
相关产品推荐

