kotlin - 使字符串以 Kotlin 中的指定前缀开头
问题描述
我试图找出将前缀连接到字符串的本地方法,但仅以防万一,它不是。
此代码检查text
变量并使其以“#”开头。
val text = "123456"
val prefix = "#"
val textFormatted = (if (text.startsWith(prefix)) "" else prefix ) + text
我希望在 Kotlin 的某个地方有干净的解决方案
解决方案
另一种方法是使用removePrefix:
val textFormatted = prefix + text.removePrefix(prefix)
否则你也可以保留if
but 写成下面的方式来避免额外的括号和额外的连接,同时也让代码更接近语义:
val textFormatted = if (text.startsWith(prefix)) text else "$prefix$text"
但是您的解决方案也有效。
推荐阅读
- nuxt.js - 在 Nuxt 中使用自定义 webpack 加载器
- c - 预期的 struct foo* 但参数是函数指针的 struct foo* 类型
- python - Django 从 postgres JSON 字段中获取值
- spring - Spring Boot 千分尺 - 在端点中公开指标
- excel - 它说它“无法获取 WorksheetFunction 类的 vlookup 属性”
- node.js - AWS COGNITO:如何实施仅在 SignupConfirmation 之后而不是在 ForgotPassword/ResetPassword 确认之后才起作用的 Post Confirmation 触发器
- flutter - 在颤动中随机使用 Math.round
- javascript - 不显示来自 firebase 的数据
- mysql - 如何解决错误代码:1093。您无法在 FROM 子句 mysql 中指定目标表 'dcp' 进行更新
- reactjs - 如何同步尝试异步 setState?