You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin如何在字符串和数字间加单个空格?现有代码仅返回数字如何解决

问题原因分析

你编写的代码使用\\D(匹配所有非数字字符)作为正则分隔符切割字符串,会直接丢弃所有非数字内容,仅保留数字片段,因此运行后只能返回数字,无法实现预期的插入空格效果。

正确实现方案

可以直接使用正则替换实现需求,匹配非数字和数字紧邻的位置,在二者之间插入空格即可:

fun addSpace(text: String): String {
    // 捕获「非数字字符+数字字符」的组合,替换为二者中间加空格的格式
    return text.replace("(\\D)(\\d)".toRegex(), "$1 $2")
}
适配扩展(可选)

如果你需要同时支持数字在前、非数字在后的场景(例如123Abc转换为123 Abc),可以调整正则如下:

fun addSpace(text: String): String {
    return text.replace("(\\D)(\\d)|(\\d)(\\D)".toRegex(), "$1$3 $2$4")
}
效果验证

对你给出的示例输入的转换效果如下:

  • 输入Text1 → 输出Text 1
  • 输入Text10 → 输出Text 10
  • 输入Kotlin2 → 输出Kotlin 2

内容的提问来源于stack exchange,提问作者mahan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 18:15:01