Scala带尾随空格

Ral*_*lph 21 string scala

Scala String方法(在类中StringOps)stripMargin从多行的每一行中删除前导空格,String直到并包括pipe(|)字符(或其他指定的分隔符).

是否有一个等效的方法来从每行删除尾随空格?

我快速浏览了Scaladocs,但找不到一个.

Dan*_*ral 27

Java String方法trim从开头和结尾删除空格:

scala> println("<"+"  abc  ".trim+">")
<abc>
Run Code Online (Sandbox Code Playgroud)

  • 但这只会分别从多行字符串的第一行和第一行中删除空白. (8认同)

kas*_*ens 26

您可以轻松地使用正则表达式:

input.replaceAll("""(?m)\s+$""", "")
Run Code Online (Sandbox Code Playgroud)

(?m)正则表达式中的前缀使其成为多行正则表达式.\s+匹配1个或多个空格字符和$行尾(由于多行标记).


use*_*own 6

拆分'n'trim'n'mkString(就像摇滚乐'):

val lines = """ 
This is 
 a test 
  a   foolish   
    test   
    a
test 
t 
 """

lines.split ("\n").map (_.trim).mkString ("\n")

res22: String = 

This is
a test
a   foolish
test
a
test
t
Run Code Online (Sandbox Code Playgroud)