在Scala中我们可以使用三个双引号来创建一个多行的字符串。
scala> val ms = """This is
| a multiline
| String."""
ms: String =
This is
a multiline
String.
你会发现每行代码的缩进空格都带到了字符串中,我们可以在每行字符串开头添加一个"|"字符来去掉代码缩进。
scala> val ms = """This is
| |a multiline
| |String."""
ms: String =
This is
a multiline
String.
当然你可以使用自定行开头字符字符,并调用stripeMargin(char)方法。
scala> val ms = """This is
| #a multiline
| #String.""".stripMargin('#')
ms: String =
This is
a multiline
String.
我们使用字符串替换方法,就可以把一个多行字符串变为一个单行字符串。
scala> ms.replaceAll("\n", " ")
res15: String = This is a multiline String.
使用三个双引号的字符串还有一个好处是可以直接在字符串内部使用单引号和双引号,并不需要任何转义。
scala> val s = """This is known as a "multiline" string or 'heredoc' syntax."""
s: String = This is known as a "multiline" string or 'heredoc' syntax.