我有以下文本。我需要在字符串和数字之间添加一个空格。
Text1 -> Text 1 Text10 -> Text 10 Kotlin2 -> Kotlin 2
我使用了下面的代码,但它不起作用。
fun addSpace(text: String): String { return text.split("\\D".toRegex()).joinToString(separator = " ") { it } }
它只返回数字。
dced5bon1#
您可以将任何出现的数字串替换为后面跟有空格的数字:
fun addSpace(text: String) = text.replace(Regex("\\d+" ), " \$0")
(The $被转义,这样Kotlin编译器就不会将其视为插值。)
$
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
Text 1 Text 10 Kotlin 2
2条答案
按热度按时间dced5bon1#
您可以将任何出现的数字串替换为后面跟有空格的数字:
(The
$
被转义,这样Kotlin编译器就不会将其视为插值。)ttygqcqt2#
您可以使用正则表达式组和replaceAll
输出将为
Text 1 Text 10 Kotlin 2