您的位置:首页 > 产品设计 > 产品经理

Scala 之 认识Multiline String与String的stripMargin妙用

2017-07-17 15:05 260 查看
转自:http://rscala.com/index.php/175.html

问题描述:

    在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”, ” “)   //hkl:这个地方我自己试了试但是什么也没输出按照他这个来。

运行结果为:

Let us scala and learn spark oh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  stripMargin