問題描述:
在Scala代碼塊中如何創建多行字符串,是否存在類似其他語言的“定界符”語法?
解決方法:
要在Scala中創建多行字符串,就需要了解Scala的Multiline String。在Scala中,利用三個雙引號包圍多行字符串就可以實現。
代碼實例如:
val foo = “””This is
a scala multiline
String”””
運行結果爲:
This is
a scala multiline
String
但上述方法存在一個缺陷問題就在與每一行可能與我們輸入的內容,帶有空格之類,導致每一行的開始位置不能整潔對齊。而在實際應用場景下,有時候我們就是確實需要在scala創建多少字符串,但是每一行需要固定對齊。解決該問題的方法就是應用scala的stripMargin方法,在scala中stripMargin默認是“|”作爲出來連接符,在多行換行的行頭前面加一個“|”符號即可。
代碼實例:
val speech = “””Let us scala and
|learn spark oh”””.stripMargin
運行的結果爲:
Let us scala and
learn spark oh
當然stripMargin方法也可以自己指定“定界符”,同時更有趣的是利用stripMargin.replaceAll方法,還可以將多行字符串”合併”一行顯示。
代碼實例如下:
val speech = “””Let us scala and
#learn spark oh”””.stripMargin(”#”)
運行的結果爲:
Let us scala and
learn spark oh
代碼實例如下:
val speech = “””Let us scala and
|learn spark oh”””.stripMargin.replaceAll(“\n”, ” “)
運行結果爲:
Let us scala and learn spark oh
rscala.com版權所有,本文scala快速學習之認識Multiline String與String的stripMargin妙用轉載請註明出處:http://rscala.com/index.php/175.html