首页 > 解决方案 > 使字符串以 Kotlin 中的指定前缀开头

问题描述

我试图找出将前缀连接到字符串的本地方法,但仅以防万一,它不是。

此代码检查text变量并使其以“#”开头。

val text = "123456"
val prefix = "#"
val textFormatted = (if (text.startsWith(prefix)) "" else prefix ) + text

我希望在 Kotlin 的某个地方有干净的解决方案

标签: kotlin

解决方案


另一种方法是使用removePrefix

val textFormatted = prefix + text.removePrefix(prefix)

否则你也可以保留ifbut 写成下面的方式来避免额外的括号和额外的连接,同时也让代码更接近语义:

val textFormatted = if (text.startsWith(prefix)) text else "$prefix$text"

但是您的解决方案也有效。


推荐阅读