Scala 字符串技巧或方法,每次“|”时插入一个新行或其他字符被放置
Scala String trick or method that inserts a new line or other character each time an "|" is placed
首先,我很抱歉这个问题看起来很模糊,但目前我还没有找到关于此事的任何信息。
前段时间一位同事与我谈论幺半群和 JSON 解析器,然后他向我展示了一种构造字符串的方法,看起来或多或少是这样的(基于我糟糕的记忆):
strangeMethodOrTrick = {
| Lorem ipsum dolor sit amet
| consectetur adipiscing elit
| sed do eiusmod
| tempor incididunt
}.toString
有一次他提到,每次“|”输入字符,这意味着在创建最终字符串后,在每行的末尾放置一个换行符。
再次为没有提供有关该主题的更多信息而道歉,今天我问了我的同事这件事,但他说他不记得那样的事情或与此相关的任何事情。
就我而言,我也没有找到任何信息,我只记得代码的样子,到目前为止我还没有在 Scala 文档中找到它。
如果有人知道此策略,如果您知道名称或我如何找到更多相关信息,我将不胜感激。
除此之外,祝大家新年快乐!
它不是内置功能,也不会插入新的换行符。标准库为字符串 stripMargin
提供了一个扩展方法,它从字符串的每一行中去除任何前导空格后跟 |
。
val str =
"""|multiple lines
|in one string
|with stripMargin""".stripMargin
请注意,在调用 stripMargin
之前,换行符已经是字符串的一部分,因为我在三引号 """
的帮助下构造了一个多行字符串。 stripMargin
所做的只是删除前导空格和 |
.
正如您在 docs 中看到的那样,有一个 stripMargin
方法,如果您愿意,可以使用 |
以外的其他字符调用该方法,例如stripMargin('#')
.
首先,我很抱歉这个问题看起来很模糊,但目前我还没有找到关于此事的任何信息。
前段时间一位同事与我谈论幺半群和 JSON 解析器,然后他向我展示了一种构造字符串的方法,看起来或多或少是这样的(基于我糟糕的记忆):
strangeMethodOrTrick = {
| Lorem ipsum dolor sit amet
| consectetur adipiscing elit
| sed do eiusmod
| tempor incididunt
}.toString
有一次他提到,每次“|”输入字符,这意味着在创建最终字符串后,在每行的末尾放置一个换行符。
再次为没有提供有关该主题的更多信息而道歉,今天我问了我的同事这件事,但他说他不记得那样的事情或与此相关的任何事情。
就我而言,我也没有找到任何信息,我只记得代码的样子,到目前为止我还没有在 Scala 文档中找到它。
如果有人知道此策略,如果您知道名称或我如何找到更多相关信息,我将不胜感激。
除此之外,祝大家新年快乐!
它不是内置功能,也不会插入新的换行符。标准库为字符串 stripMargin
提供了一个扩展方法,它从字符串的每一行中去除任何前导空格后跟 |
。
val str =
"""|multiple lines
|in one string
|with stripMargin""".stripMargin
请注意,在调用 stripMargin
之前,换行符已经是字符串的一部分,因为我在三引号 """
的帮助下构造了一个多行字符串。 stripMargin
所做的只是删除前导空格和 |
.
正如您在 docs 中看到的那样,有一个 stripMargin
方法,如果您愿意,可以使用 |
以外的其他字符调用该方法,例如stripMargin('#')
.