使用 kotlin 字符串函数/字符串格式添加空格

Act*_*Dev 2 string string.format replaceall kotlin

这可能会在这里被问过几次......我想在字符串的每四个字符之间添加空格(8888319024981442)。我的字符串长度正好是 16。 String.format没有帮助

避免使用 split 或在内存中创建多个字符串。

有没有可以快速使用的 kotlin 函数/String.format。

Jos*_*raz 5

我不认为有一种非常简单的方法可以做到这一点,但有一种传统的方法:

val number = "8888319024981442"
val list = mutableListOf<String>()
for (i in 0..3) { list.add(number.substring(i*4, (i+1)*4))}
println(list.joinToString(" "))
Run Code Online (Sandbox Code Playgroud)

编辑

或@IR42 简单答案

number.chunked(4).joinToString(separator = " ")
Run Code Online (Sandbox Code Playgroud)

  • `number.chunked(4).joinToString(separator = " ")` (2认同)
  • 对于不包含 4 的精确倍数的数字,最好使用 number.reversed().chunked(4).joinToString(" ").reversed() 它显示“123 4567”而不是错误的“1234 567” (2认同)