如何在Scala三引号字符串中包含`"""`?

zpqajqem  于 2023-05-22  发布在  Scala
关注(0)|答案(2)|浏览(186)

奇怪的是,我找不到这个。如果你想在一个三引号字符串中包含""",你不能用\"替换其中一个",因为这将被解释为反斜杠+引号。
是用\u0022替换三个中的一个的唯一方法吗?

hc8w905p

hc8w905p1#

其实有很多方法。

val q = '"'
println(s"""$q$q$q""")
println(s"""""$q""") // this works too

或者

println(""""""""")

上面的打印三个双引号。。但我不认为你可以在这里添加更多的东西。可以做到这一点

val q = """""""""
println(s"""${q}foo bar${q}""")

这将打印"""foo bar"""
此分类上一篇:s"${"\""*3}"
或者这个:s"${'"'.toString * 3}"
或者这个:s"${Seq.fill(3)('"').mkString}"

prdp8dxp

prdp8dxp2#

你可以试试插值技巧:

val str = s"""
foo ${"\"\"\""} bar
"""

println(str) // prints 'foo """ bar'

或者

val str = s"""
foo ${"""""""""} bar
"""

相关问题