Leg*_*123 2 string whitespace trim kotlin
String.trim()不适用于使用 构建的字符串buildString。例如,
val s = buildString {
append("{")
append('\n')
append(" ".repeat(5))
append("hello")
append(" ".repeat(7))
append("world")
append("}")
}
println(s.trim())
Run Code Online (Sandbox Code Playgroud)
这打印
{
hello world}
Run Code Online (Sandbox Code Playgroud)
但我需要它来打印
{
hello
world
}
Run Code Online (Sandbox Code Playgroud)
如何在不编写自己的修剪方法的情况下修剪缩进?
trim()只删除整个字符串开头和结尾的空格,而不是每行删除空格。您可以使用以下命令删除每行中的空格:
s.lineSequence()
.map { it.trim() }
.joinToString("\n")
Run Code Online (Sandbox Code Playgroud)
请注意,作为副作用,上面的代码将所有行结尾转换为LF( "\n")。您可以替换"\n"为"\r\n"或"\r"以获得不同的结果。为了完全保留原始字符串中的行结尾,我们需要一个更复杂的解决方案。
| 归档时间: |
|
| 查看次数: |
4093 次 |
| 最近记录: |