在 Kotlin 中修剪 String 中的所有换行符 - 惯用的方式

问题描述 投票:0回答:2

是否有内置/标准库方法来修剪字符串中的所有新行,而不仅仅是从开头或结尾?

string kotlin newline
2个回答
6
投票

据我所知,没有专门删除新行的特殊 stdlib 函数,但如果您只对删除

text.replace("\n", "")
字符感兴趣,则可以简单地使用
\n

如果您想涵盖更多情况,例如更多行结束字符/序列或新行后的空格,您还可以使用正则表达式。例如

text.replace(Regex("""(\r\n)|\n"""), "")
,但在很多情况下这可能有点过分了。

另一种选择是独立获取行本身,然后用空分隔符将它们重新连接在一起:

text.lines().joinToString("")

0
投票

如果您需要删除所有空行(没有任何符号,例如:

\n\n
),您可以使用此扩展:

fun String.trimEmptyLines() = trim().replace("\n+".toRegex(), replacement = "\n")

输入示例:

1
2

3


4

输出:

1
2
3
4
© www.soinside.com 2019 - 2024. All rights reserved.