是否有内置/标准库方法来修剪字符串中的所有新行,而不仅仅是从开头或结尾?
据我所知,没有专门删除新行的特殊 stdlib 函数,但如果您只对删除
text.replace("\n", "")
字符感兴趣,则可以简单地使用 \n
。
如果您想涵盖更多情况,例如更多行结束字符/序列或新行后的空格,您还可以使用正则表达式。例如
text.replace(Regex("""(\r\n)|\n"""), "")
,但在很多情况下这可能有点过分了。
另一种选择是独立获取行本身,然后用空分隔符将它们重新连接在一起:
text.lines().joinToString("")
如果您需要删除所有空行(没有任何符号,例如:
\n\n
),您可以使用此扩展:
fun String.trimEmptyLines() = trim().replace("\n+".toRegex(), replacement = "\n")
输入示例:
1
2
3
4
输出:
1
2
3
4