kotlin 在字符串和数字之间添加一个空格

llmtgqce  于 2023-02-05  发布在  Kotlin
关注(0)|答案(2)|浏览(264)

我有以下文本。我需要在字符串和数字之间添加一个空格。

Text1 -> Text 1

Text10 -> Text 10

Kotlin2 -> Kotlin 2

我使用了下面的代码,但它不起作用。

fun addSpace(text: String): String {
   return text.split("\\D".toRegex()).joinToString(separator = " ") { it  }
}

它只返回数字。

dced5bon

dced5bon1#

您可以将任何出现的数字串替换为后面跟有空格的数字:

fun addSpace(text: String) = text.replace(Regex("\\d+" ), " \$0")

(The $被转义,这样Kotlin编译器就不会将其视为插值。)

ttygqcqt

ttygqcqt2#

您可以使用正则表达式组和replaceAll

fun main() {
    val input = "Text1 Text10 Kotlin2"
    val pattern = Pattern.compile("([a-zA-Z]+)([0-9]+)")
    val matcher = pattern.matcher(input).replaceAll("$1 $2")
    println(matcher)
}

输出将为
Text 1 Text 10 Kotlin 2

相关问题